本文整理自网络,侵删。
一、我们有一段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 datasnap(midas)三层架构中,常用事件及其触发顺序
Delphi xe6取得android智能手机的电话号码等的终端信息
Delphi 不管什么datetime日期格式时间格式转换都不会错了
Delphi 用firedac获取 sql server错误文本信息
更多相关阅读请进入《Delphi》频道 >>