四、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;
复制代码

三、显示结果如下:

 

不忘初心,如果您认为这篇文章有价值,认同作者的付出,可以微信二维码打赏任意金额给作者(微信号:382477247)哦,谢谢。

posted @   像一棵海草海草海草  阅读(3163)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示