用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
},
{
"姓名": "李四",
"成绩": 21.7
}
]
}