频道分类

Delphi10.3构造一个JSON数据的第三种方法,并格式化输出

作者:admin 来源: 日期:2019/10/1 16:43:13 人气: 标签:

 
用Delphi10.3构造一个JSON数据的第三种方法,并格式化输出,代码如下:

复制代码
uses
  // System.JSON,
  System.JSON.Types,
  System.JSON.Writers,
  System.JSON.Builders;

procedure TForm1.Button3Click(Sender: TObject);
var
  m_StringWriter: TStringWriter;
  m_JsonWriter: TJsonTextWriter;
  m_JsonBuilder: TJSONObjectBuilder;
begin
  m_StringWriter := TStringWriter.Create();
  m_JsonWriter := TJsonTextWriter.Create(m_StringWriter);
  m_JsonBuilder := TJSONObjectBuilder.Create(m_JsonWriter);
  try
    m_JsonWriter.Formatting := TJsonFormatting.Indented;
    //JSON构造
    m_JsonBuilder
      .BeginObject
        .BeginArray('五班')
          .BeginObject
            .Add('姓名', '张三')
            .Add('成绩', 75.5)
          .EndObject
          .BeginObject
            .Add('姓名', '李四')
            .Add('成绩', 21.7).
          EndObject
        .EndArray
      .EndObject;
    //输出
    Memo1.Lines.Clear;
    Memo1.Lines.Add(m_StringWriter.ToString);
  finally
    m_JsonBuilder.Free;
    m_JsonWriter.Free;
    m_StringWriter.Free;
  end;
end;
复制代码
二、输出结果如下:  

{

    "五班": [

        {

            "姓名": "张三",

            "成绩": 75.5

        },

        {

            "姓名": "李四",

            "成绩": 21.7

        }

    ]

}