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

        }

    ]

}

 

相关阅读 >>

Delphi webservices传base64字串

Delphi 实现文件分割合并

Delphi中用idhttp获取json数据乱码问题

Delphi xe10 android安卓 移动端 messagedlg 用法

Delphi实现tedit控件的外观只有一条下划线

Delphi 用正则表达式获取指定的字符串续取出所有符合要求的字符串

Delphi获取硬件信息

Delphi 禁用tedit右键菜单及复制粘贴

Delphi 与360

Delphi给access创建数据表

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...