zoukankan      html  css  js  c++  java
  • delphi json生成和解析

    delphi json生成和解析

    使用DELPHI 自带的JSON类。

     
    uses System.JSON;
    
    procedure TForm1.Button1Click(Sender: TObject);
    //解析JSON
    begin
      var jo: TJSONObject := TJSONObject.ParseJSONValue('{"name":"张三", "other":["中国","程序员"]}') as TJSONObject;  //从字符串生成JSON
      Memo2.Lines.Add('遍历JSON数据:');
      Memo2.Lines.Add('JSON数据数量:' + IntToStr(jo.Count));
      var tmp: string;
      for var i: integer := 0 to jo.Count - 1 do    //1,遍历JSON数据
        tmp := tmp + jo.Get(i).ToString;
      Memo2.Lines.Add(tmp);
      Memo2.Lines.Add('');
      Memo2.Lines.Add('按元素解析JSON数据:');  //2,按元素解析JSON数据
      tmp := 'name = ' + jo.Values['name'].ToString;
      Memo2.Lines.Add(tmp);
      var ja: TJSONArray := TJSONArray(jo.GetValue('other'));   // json数组
      tmp := 'other = ' + jo.GetValue('other').ToString + #13#10; // 得到JSON数组字符串
      for var i: integer := 0 to ja.Size - 1 do    // 循环取得JSON数组中每个元素
        tmp := tmp + IntToStr(i + 1) + ' : ' + ja.Items[i].Value + #13#10;
      Memo2.Lines.Add(tmp);
      jo.Free;
    end;
    
    procedure TForm1.Button2Click(Sender: TObject);
    //生成JSON
    begin
      var jo: TJSONObject := TJSONObject.Create;
      jo.AddPair('name','张三');
     // var ja: TJSONArray := TJSONObject.ParseJSONValue('["中国","程序员"]') as TJSONArray;
      var ja: TJSONArray := TJSONArray.Create;
      ja.Add('中国');
      ja.Add('程序员');
      jo.AddPair('other', ja);
      Memo2.Lines.Add(jo.ToString); //{"name":"张三","other":["中国","程序员"]}
      Memo2.Lines.Add(jo.ToJSON);   //{"name":"u5F20u4E09","other":["u4E2Du56FD","u7A0Bu5E8Fu5458"]}
      jo.Free;
    end;
    

      

      

  • 相关阅读:
    2019春第三次课程设计实验报告
    2019春第二次课程设计实验报告
    2019春第一次课程设计实验报告
    第十二周总结
    第十一周总结
    第五周课程总结&试验报告(三)
    第四周课程总结&实验报告(二)
    第三周课程总结&实验报告一
    第二周学习总结
    19春总结
  • 原文地址:https://www.cnblogs.com/hnxxcxg/p/12605909.html
Copyright © 2011-2022 走看看