Delphi10.3读取JSON数据


本文整理自网络,侵删。

 
一、我们有一段JSON数据如下:

复制代码
{
    "五班": [
        {
            "姓名": "张三",
            "成绩": 75.5
        },
        {
            "姓名": "李四",
            "成绩": 21.7
        }
    ]
}
复制代码
二、使用Delphi代码读取,代码如下:

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

procedure TForm1.Button4Click(Sender: TObject);
var
  I: Integer;
  m_JsonStr: string;
  m_SubArray: TJSONArray;
  m_JsonObject: TJSONObject;
  m_SubJsonObj: TJSONObject;
begin
  // 读取JSON文件
  m_JsonStr := Trim(Memo1.Text);
  m_JsonObject := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(m_JsonStr), 0) as TJSONObject;
  
  // 取最外层
  for I := 0 to m_JsonObject.count - 1 do
  begin
    Memo2.Lines.Add(m_JsonObject.Get(I).JsonString.toString + ' = ' + m_JsonObject.Get(I).JsonValue.ToString);
  end;

  // 取内层
  m_SubArray := m_JsonObject.getValue('五班') as TJSONArray;
  for I := 0 to m_SubArray.size - 1 do
  begin
    m_SubJsonObj := m_SubArray.Get(I) as TJSONObject;
    Memo2.Lines.Add(Format('标签:%s = %s', [m_SubJsonObj.Get(0).JsonString.ToString, m_SubJsonObj.Get(0).JsonValue.ToString]));
    Memo2.Lines.Add(Format('标签:%s = %s', [m_SubJsonObj.Get(1).JsonString.ToString, m_SubJsonObj.Get(1).JsonValue.ToString]));
  end;
end;

相关阅读 >>

Delphi 正则表达式tperlregex 类的属性与方法

Delphi 类型映射及类型转换

Delphi datasnap(midas)三层架构中,常用事件及其触发顺序

Delphi操作access

Delphi 检测进程是否存在函数

Delphi ticon保存ico文件时失真的解决办法

Delphi xe6取得android智能手机的电话号码等的终端信息

Delphi xe 程序瘦身.编译后exe最低90kb

Delphi 不管什么datetime日期格式时间格式转换都不会错了

Delphi 用firedac获取 sql server错误文本信息

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



打赏

取消

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

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

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

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

评论

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