fpjson使用例子

fpjson使用例子

复制代码
procedure TForm1.Button2Click(Sender: TObject);
var jData:TJSONData;
    jDataArr:TJSONData;
    jObject:TJSONObject;
    jArray:TJSONArray;
    s:String;
begin
  try
  s:=Memo1.Text;    //json数据源

  jData:=GetJSON(s);    //获取json数据
  Memo2.Text:=jData.AsJSON;    //格式化json一
  //Memo2.Text:=jData.FormatJSON;    //格式化json二

  jObject:=TJSONObject(jData);    //json数据结构化一
  //jObject:=jData as TJSONObject;    //json数据结构化二
  Memo2.Lines.Add(jObject.Strings['infocode']);    //读取json键值一
  //Memo2.Lines.Add(jObject.Get('infocode',''));    //读取json键值二,第2个参数为默认值

  jObject.Integers['infocode']:=10101;        //给键重新赋值
  jObject.Add('update',now());    //新增一对键值

  jDataArr:=jData.FindPath('lives[0].city');    //查找多层json路径,返回jsonData
  Memo2.Lines.Add(jDataArr.AsJSON);    //读取多层json键值一
  //Memo2.Lines.Add(jDataArr.FormatJSON);    //读取多层json键值二

  jArray:=TJSONArray.Create;    //创建json空数组
  jArray.Add('');    //给数据添加元素
  jArray.Add('');
  jArray.Add('西');
  jArray.Add('');
  jObject.Add('方位',jArray);    //给数组命名并赋值

  Memo2.Lines.Add(jData.FindPath('方位[0]').AsString);    //取出方位数组的第一个元素:東
  except
    on E:EHttpClient do
       ShowMessage(e.Message);
  end;

  //最后要释放jData,否则会出现内存泄漏
  //jData.Free;
  //jDataArr.Free;

end;
复制代码

 

posted @   delphi中间件  阅读(66)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2018-11-12 TStream实现多表提交
2018-11-12 TStream实现多表查询
点击右上角即可分享
微信分享提示