导航:首页 > 编程语言 > jsonresize

jsonresize

发布时间:2023-08-29 03:27:25

① delphi json 是否有效

用、有用的类型,所以我仅仅用这两种例子做演示!
演示代码

[delphi] view plain
{
功能:DelphiXE7中使用JSON
------------------------------------------------------------------------------
说明:
1,使用Delphi自己带的JSON(system.json)。
2,这仅仅是一个简单例子,以后还会增加演示功能。
------------------------------------------------------------------------------
注意:
1,JSON类创建后,里面所有元素不用管释放,JSON类自己管理,千万不要画蛇添足啊!!!!!!
------------------------------------------------------------------------------
作者:孙玉良 QQ:14667479 Email:[email protected] 修改时间:2014/11/23 00:13
------------------------------------------------------------------------------
开发工具:Delphi XE7
测试手机:华为荣耀X1
}
unit Unit1;

interface

uses
System.SysUtils, System.Types, System.UITypes, System.Classes,
System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
FMX.Layouts, FMX.Memo;

type
TForm1 = class(TForm)
Panel1: TPanel;
Memo1: TMemo;
Panel2: TPanel;
Button1: TButton;
Button2: TButton;
Memo2: TMemo;
Button3: TButton;
procere Button1Click(Sender: TObject);
procere Button2Click(Sender: TObject);
procere FormCreate(Sender: TObject);
procere Button3Click(Sender: TObject);
procere FormResize(Sender: TObject);
private
{ Private declarations }

// 重新设置button按钮
procere ResetButton;
public
{ Public declarations }
end;

var
Form1: TForm1;

const
// 演示用的JSON
jsonString = '{"name":"张三", "other":["中国","程序员"]}';

implementation

{$R *.fmx}

uses
System.json; // Dephi自带的JSON单元

procere TForm1.Button1Click(Sender: TObject);
var
JSONObject: TJSONObject; // JSON类
i: Integer; // 循环变量
temp: string; // 临时使用变量
jsonArray: TJSONArray; // JSON数组变量
begin

if Trim(Memo1.Text) = '' then
begin
ShowMessage('要解析数据不能为空!');
end
else
begin
JSONObject := nil;
try
{ 从字符串生成JSON }
JSONObject := TJSONObject.ParseJSONValue(Trim(Memo1.Text)) as TJSONObject;

if JSONObject.Count > 0 then
begin

{ 1,遍历JSON数据 }
Memo2.Lines.Add('遍历JSON数据:' + #13#10);

Memo2.Lines.Add('JSON数据数量:' + IntToStr(JSONObject.Count));

for i := 0 to JSONObject.Count - 1 do
begin

if i = 0 then
begin
temp := JSONObject.Get(i).ToString + #13#10;;
end
else
begin
temp := temp + JSONObject.Get(i).ToString + #13#10;
end;

end;

{ output the JSON to console as String }
Memo2.Lines.Add(temp);

Memo2.Lines.Add('------------------------------');

{ 2,按元素解析JSON数据 }
Memo2.Lines.Add('按元素解析JSON数据:' + #13#10);
temp := 'name = ' + JSONObject.Values['name'].ToString + #13#10;
Memo2.Lines.Add(temp);

// json数组
jsonArray := TJSONArray(JSONObject.GetValue('other'));;
if jsonArray.Count > 0 then
begin

// 得到JSON数组字符串
temp := 'other = ' + JSONObject.GetValue('other').ToString + #13#10;

// 循环取得JSON数组中每个元素
for i := 0 to jsonArray.Size - 1 do
begin
temp := temp + IntToStr(i + 1) + ' : ' + jsonArray.Items[i]
.Value + #13#10;
end;

end;

Memo2.Lines.Add(temp);

end
else
begin
temp := '没有数据!';
Memo2.Lines.Add(temp);
end;

finally
JSONObject.Free;
end;
end;

end;

// 清空显示数据
procere TForm1.Button2Click(Sender: TObject);
begin
Memo1.Text := '';
Memo2.Text := '';
end;

// 设置要解析的JSON数据
procere TForm1.Button3Click(Sender: TObject);
begin
Memo1.Text := jsonString;
end;

// 设置要解析的JSON数据
procere TForm1.FormCreate(Sender: TObject);
begin
Memo1.Text := jsonString;
end;

procere TForm1.FormResize(Sender: TObject);
begin
// 重新设置button按钮
self.ResetButton;
end;

// 重新设置button按钮
procere TForm1.ResetButton;
var
buttonWidth: Integer;
begin
buttonWidth := self.Width div 3;

Button1.Width := buttonWidth;
Button2.Width := buttonWidth;
Button3.Width := buttonWidth;
end;

end.

② json格式的文件用什么软件打开

json是一种文本格式,json格式的文件可以用记事本打开。

1、右击需要打开的json文件,在展开的菜单中点击“打开方式...”按钮选择打开方式:

③ 如何在前台js中判断后台传来的Json中某个键的值来弹框显示不同的内容

JSON 字串可以包含阵列 Array 资料或者是物件 Object 资料
阵列可以用 [ ] 来写入资料
物件可以用 { } 来写入资料
name / value 是成对的,中间透过 (:) 来区隔
若回传值为:
"data":{
"detail":{
"points":[{"lng":114.03547645,"lat":22.66128515}],
"query_status":"0",
"server_retcode":"0"
}
}

解读内容如下:
lng = data.detail.points[0].lng
lat = data.detail.points[0].lat

④ PHP网站上传图片自动压缩,怎么编程啊,求指

这里会使用到三个文件:

三个文件代码如下:
连接数据库:connect.php

<?php
$db_host='';
$db_user='';
$db_psw='';
$db_name='';
$db_port='';
$sqlconn=newmysqli($db_host,$db_user,$db_psw,$db_name);
$q="setnamesutf8;";
$result=$sqlconn->query($q);
if(mysqli_connect_errno()){
printf("Connectfailed:%s ",mysqli_connect_error());
exit();
}
?>

当然使用一些封装的数据库类也是可以的。

执行SQL语句:test_upload.php

<?php
require("connect.php");
require("upload_img.php");
$real_img=$uploadfile;
$small_img=$uploadfile_resize;
$insert_sql="insertintoimg(real_img,small_img)values(?,?)";
$result=$sqlconn->prepare($insert_sql);
$result->bind_param("ss",$real_img,$small_img);
$result->execute();
?>

上传图片并压缩:upload_img.php

<?php
//设置文件保存目录
$uploaddir="upfiles/";
//设置允许上传文件的类型
$type=array("jpg","gif","bmp","jpeg","png");

//获取文件后缀名函数
functionfileext($filename)
{
returnsubstr(strrchr($filename,'.'),1);
}

//生成随机文件名函数
functionrandom($length)
{
$hash='CR-';
$chars='';
$max=strlen($chars)-1;
mt_srand((double)microtime()*1000000);
for($i=0;$i<$length;$i++)
{
$hash.=$chars[mt_rand(0,$max)];
}
return$hash;
}

$a=strtolower(fileext($_FILES['filename']['name']));

//判断文件类型
if(!in_array(strtolower(fileext($_FILES['filename']['name'])),$type))
{
$text=implode(",",$type);
$ret_code=3;//文件类型错误
$page_result=$text;
$retArray=array('ret_code'=>$ret_code,'page_result'=>$page_result);
$retJson=json_encode($retArray);
echo$retJson;
return;
}

//生成目标文件的文件名
else
{
$filename=explode(".",$_FILES['filename']['name']);
do
{
$filename[0]=random(10);//设置随机数长度
$name=implode(".",$filename);
//$name1=$name.".Mcncc";
$uploadfile=$uploaddir.$name;
}

while(file_exists($uploadfile));

if(move_uploaded_file($_FILES['filename']['tmp_name'],$uploadfile))
{
if(is_uploaded_file($_FILES['filename']['tmp_name']))
{
$ret_code=1;//上传失败
}
else
{//上传成功
$ret_code=0;
}
}
$retArray=array('ret_code'=>$ret_code);
$retJson=json_encode($retArray);
echo$retJson;
}

//压缩图片

$uploaddir_resize="upfiles_resize/";
$uploadfile_resize=$uploaddir_resize.$name;

//$pic_width_max=120;
//$pic_height_max=90;
//以上与下面段注释可以联合使用,可以使图片根据计算出来的比例压缩

$file_type=$_FILES["filename"]['type'];

functionResizeImage($uploadfile,$maxwidth,$maxheight,$name)
{
//取得当前图片大小
$width=imagesx($uploadfile);
$height=imagesy($uploadfile);
$i=0.5;
//生成缩略图的大小
if(($width>$maxwidth)||($height>$maxheight))
{
/*
$widthratio=$maxwidth/$width;
$heightratio=$maxheight/$height;

if($widthratio<$heightratio)
{
$ratio=$widthratio;
}
else
{
$ratio=$heightratio;
}

$newwidth=$width*$ratio;
$newheight=$height*$ratio;
*/
$newwidth=$width*$i;
$newheight=$height*$i;
if(function_exists("imageresampled"))
{
$uploaddir_resize=imagecreatetruecolor($newwidth,$newheight);
imageresampled($uploaddir_resize,$uploadfile,0,0,0,0,$newwidth,$newheight,$width,$height);
}
else
{
$uploaddir_resize=imagecreate($newwidth,$newheight);
imageresized($uploaddir_resize,$uploadfile,0,0,0,0,$newwidth,$newheight,$width,$height);
}

ImageJpeg($uploaddir_resize,$name);
ImageDestroy($uploaddir_resize);
}
else
{
ImageJpeg($uploadfile,$name);
}
}if($_FILES["filename"]['size'])
{
if($file_type=="image/pjpeg"||$file_type=="image/jpg"|$file_type=="image/jpeg")
{
//$im=imagecreatefromjpeg($_FILES[$upload_input_name]['tmp_name']);
$im=imagecreatefromjpeg($uploadfile);
}
elseif($file_type=="image/x-png")
{
//$im=imagecreatefrompng($_FILES[$upload_input_name]['tmp_name']);
$im=imagecreatefromjpeg($uploadfile);
}
elseif($file_type=="image/gif")
{
//$im=imagecreatefromgif($_FILES[$upload_input_name]['tmp_name']);
$im=imagecreatefromjpeg($uploadfile);
}
else//默认jpg
{
$im=imagecreatefromjpeg($uploadfile);
}
if($im)
{
ResizeImage($im,$pic_width_max,$pic_height_max,$uploadfile_resize);

ImageDestroy($im);
}
}
?>

请按照现实情况更改connect.php,test_upload.php中对应的信息。

望采纳,谢谢。

⑤ json怎么删除数组元素

如果是仅仅用于删除元素的话,splice()的功能应该足够了,
传入两个参内数,第一个是要删除的容位置,从0开始计算,第二个参数是要删除的个数。

比如:var arr = ['a', 'b', 'c', 'd', 'e'];
arr.splice(2, 1);
该函数的本身是返回删除的元素构成的数组。
执行这条语句后,arr则变为 ['a', 'b', 'c', 'e']
你可以看看http://www.w3school.com.cn/js/jsref_splice.asp这篇文章,或许对你有帮助。

阅读全文

与jsonresize相关的资料

热点内容
瑞斯康达网络管理界面 浏览:254
ca证书管理器linux 浏览:358
苹果id安全提示问题3个字符 浏览:949
iphone上好的拍照软件 浏览:579
word内嵌文件怎么下载 浏览:864
8s16升级 浏览:340
计算机网络技术基础pdf 浏览:544
javafrom提交地址参数 浏览:721
git发布版本 浏览:728
vc修改文件名 浏览:149
linux65从域 浏览:321
用什么东西压缩文件 浏览:406
怎么删除ipad隐藏的APP 浏览:981
编程如何占用大量内存 浏览:116
多个excel表格文件如何组合 浏览:918
ubuntu内核升级命令 浏览:679
pgp文件夹 浏览:894
一键还原的文件是什么格式 浏览:581
女汉子微信名霸气十足 浏览:65
win10手机蓝屏修复 浏览:419

友情链接