用Delphi10.3 创建一条JSON数据的第二种方法,并格式化输出

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

复制代码

uses
  //System.JSON,
  System.JSON.Types,
  System.JSON.Writers;

procedure TForm1.Button2Click(Sender: TObject);
var
  m_StringWriter: TStringWriter;
  m_JsonWriter: TJsonTextWriter;
begin
  m_StringWriter := TStringWriter.Create();
  m_JsonWriter := TJsonTextWriter.Create(m_StringWriter);
  try
    // JSON代码格式化,None为不格式化
    m_JsonWriter.Formatting := TJsonFormatting.Indented;
    m_JsonWriter.WriteStartObject;
    // 添加班级
    m_JsonWriter.WritePropertyName('五班');
    m_JsonWriter.WriteStartArray;
    // 添加一个学生
    m_JsonWriter.WriteStartObject;
    m_JsonWriter.WritePropertyName('姓名');
    m_JsonWriter.WriteValue('张三');
    m_JsonWriter.WritePropertyName('成绩');
    m_JsonWriter.WriteValue(75.5);
    m_JsonWriter.WriteEndObject;
    // 添加第二个学生
    m_JsonWriter.WriteStartObject;
    m_JsonWriter.WritePropertyName('姓名');
    m_JsonWriter.WriteValue('李四');
    m_JsonWriter.WritePropertyName('成绩');
    m_JsonWriter.WriteValue(21.7);
    m_JsonWriter.WriteEndObject;
    // 结束
    m_JsonWriter.WriteEndArray;
    m_JsonWriter.WriteEndObject;
    // 输出
    Memo1.Lines.Clear;
    Memo1.Lines.Add(m_StringWriter.ToString);
  finally
    m_JsonWriter.Free;
    m_StringWriter.Free;
  end;
end;

复制代码

二、输出结果如下:  

{

    "五班": [

        {

            "姓名": "张三",

            "成绩": 75.5

        },

        {

扫描二维码关注公众号,回复: 10191304 查看本文章

            "姓名": "李四",

            "成绩": 21.7

        }

    ]

}

不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:382477247)哦,谢谢。

发布了382 篇原创文章 · 获赞 3 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_18932003/article/details/105016402