zoukankan      html  css  js  c++  java
  • 四、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)哦,谢谢。

  • 相关阅读:
    struts2基础
    javaEE环境搭建-eclipse
    geth
    redis常用命令
    angular-ui-select 下拉框支持过滤单选多选解决方案(系列一)
    angularjs中向html页面添加内容节点元素代码段的两种方法
    modal
    弹性布局
    自定义鼠标样式
    angularjs指令弹框点击空白处隐藏及常规方法
  • 原文地址:https://www.cnblogs.com/tianpan2019/p/10498630.html
Copyright © 2011-2022 走看看