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 @ 2022-11-12 17:52  delphi中间件  阅读(50)  评论(0编辑  收藏  举报