uses引用单元
System.JSON.Serializers,
REST.Json,
System.Json,
System.Types,
System.Json.Types,
System.Json.Writers,
System.Json.Builders;
以下三个函数 分别说明了 json的用法 第二个函数还有json套json
procedure TForm1.Button1Click(Sender: TObject);
var
s:string;
begin
s:=’{“id”:2, “name”:“张三”, “age”:99}’;
jsonob:=tjsonobject.Create;
// jsonob := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(s), 0,true) as TJSONObject;
// jvalue.GetValue() ;
jvalue := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(s), 0,true);
ShowMessage( jvalue.GetValue(‘age’).ToString );
end;
function denglusj(name,pw:string; var itoken:string):boolean;
var
json:tjsonvalue;
steam:tstringstream;
s:string;
begin
Result:=false;
//code为0成功,401 token失效,其他均为失败,取msg错误内容
steam:=tstringstream.create(’’);
s:=’/sms/api/login?username=’+name+’&password=’+pw ;
form1.IdHTTP1.Get(s,steam);
form1.Memo1.Lines.Add(steam.DataString);
if steam.DataString<>’’ then
begin
json:= TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(steam.DataString), 0,true);
s:=json.GetValue(‘code’) ;
Result:=(s=‘0’);
if Result then
begin
itoken:=json.GetValue(‘token’) ;
end
else
begin
token:=’’;
end;
end;
steam.Clear;
steam.Free;
end;
function getsjhao(var sjhao:string):string;
var
json:tjsonvalue;
steam:tstringstream;
s:string;
begin
if token=’’ then
begin
result:=‘401’;
exit;
end;
result:=’-9’;
//0 成功 ,401 token失效,-1暂无号码,-2项目禁用-3 余额不足-5状态异常 -4 请求频率过快请延迟10秒
steam:=tstringstream.create(’’);
s:=’/sms/api/getPhone?token=’+token+’&sid=245’ ;
form1.IdHTTP1.Get(s,steam);
form1.Memo1.Lines.Add(steam.DataString);
if steam.DataString<>’’ then
begin
json:= TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(steam.DataString), 0,true);
Result:=json.GetValue(‘code’) ;
if Result=‘0’ then
begin
sjhao:=json.GetValue(‘phone’) ;
end
else
begin
sjhao:=’’;
end;
end;
steam.Clear;
steam.Free;
end;