
Delphi 解析JSON
发布日期:2021-05-04 14:30:57
浏览次数:15
分类:技术文章
本文共 1493 字,大约阅读时间需要 4 分钟。
RAD Studio 10.3 测试√
参考数据
{ "五班": [ { "姓名": "张三", "成绩": 75.5 }, { "姓名": "李四", "成绩": 21.7 }, { "姓名": "王五", "成绩": 75.52 }, { "姓名": "孙六", "成绩": 21.72 } ], "六班": [ { "姓名": "张三6", "成绩": 75.56 }, { "姓名": "李四6", "成绩": 21.76 }, { "姓名": "王五6", "成绩": 75.526 }, { "姓名": "孙六6", "成绩": 21.726 } ]}
记得声明
uses System.JSON, System.Generics.Collections;
相关代码
procedure TForm2.Button1Click(Sender: TObject);var I: Integer; y_JsonStr: string; y_SubArray: TJSONArray; y_JsonObject: TJSONObject; y_SubJsonObj: TJSONObject;begin // 读取JSON文件 y_JsonStr := Trim(Memo1.Text); y_JsonObject := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(y_JsonStr), 0) as TJSONObject; // 取内层 y_SubArray := y_JsonObject.getValue('五班') as TJSONArray; for I := 0 to y_SubArray.Count - 1 do begin y_SubJsonObj := y_SubArray.Get(I) as TJSONObject; // 第一个姓名为自定义的,第二个姓名位参数名【用来获取相关参数值】 Memo2.Lines.Add(Format('标签:%s = %s', ['姓名', y_SubJsonObj.GetValue('姓名').ToString])); Memo2.Lines.Add(Format('标签:%s = %s', [y_SubJsonObj.Get(1).JsonString.ToString, y_SubJsonObj.GetValue('成绩').ToString])); Memo2.Lines.Add('--------------------------------'); end;end;
:内容在单元文件2中
学习中记录的一点点笔记,以便以后翻阅。
发表评论
最新留言
很好
[***.229.124.182]2025年04月03日 18时32分07秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
2020年,51Talk求一个盈利的机会
2019-03-03
2019数字音乐市场年度回顾,QQ音乐全面领先
2019-03-03
迅雷新财报背后:下载一哥到艰难求生
2019-03-03
腾讯终于要杀入电商直播了
2019-03-03
花1亿扶持优质红人,如涵推动网红经济出圈之路有何深意?
2019-03-03
AMD、Intel、NVIDIA芯片三巨头内战
2019-03-03
开门红财报下,贝壳找房的春天依然有点冷
2019-03-03
虾米逝去:透视在线音乐的下一场战争
2019-03-03
抢滩抖音、B站,快手港股IPO进程加速
2019-03-03
智能穿戴的结局依然充满悬念
2019-03-03
Linux中的虚拟内存机制和内存映射
2019-03-03
Android系统启动系列5 SystemServer进程下
2019-03-03
Android四大组件系列9 ContentProvider原理
2019-03-03
理解PendingIntent
2019-03-03
Android SurfaceFlinger4 提交Buffer
2019-03-03
深入理解 ClientLifecycleManager 机制
2019-03-03
android基础知识回顾--ContentProvider简单用法
2019-03-03
压缩解压
2019-03-03
js try{}catch(){}finally{}语句
2019-03-03
ES6 块级绑定(二)
2019-03-03