Delphi使用SuperObject和使用SuperArray创建JSon

本文详细介绍了如何在Delphi中通过SuperObject和SuperArray库创建和操作JSON对象和数组,包括创建单层和多层JSON结构,并提供了一个实际的多层JSON使用案例。
摘要由CSDN通过智能技术生成

Delphi中JSon数据拼写

首先需要下载SuperObject库并将其添加到Delphi项目中。测试json格式可以百度搜索json在线解析工具去校验格式是否正确。

1、使用SuperObject创建JSON对象

  1. 在代码中引入SuperObject单元:uses SuperObject;
  2. 声明一个SuperObject的变量:var obj: ISuperObject;
  3. 使用Create函数创建一个新的SuperObject对象:obj := SO;
  4. 添加属性和值到对象中:obj.S['name'] := 'John';
  5. 将SuperObject对象转换为JSON字符串:var jsonStr: string; jsonStr := obj.AsJSON;

2、使用SuperArray创建JSON数组

  1. 在代码中引入SuperObject和SuperArray单元:uses SuperObject, SuperArray;
  2. 声明一个SuperArray的变量:var arr: ISuperArray;
  3. 使用Create函数创建一个新的SuperArray对象:arr := SA;
  4. 向数组中添加元素:arr.Add(1);
  5. 将SuperArray对象转换为JSON字符串:var jsonStr: string; jsonStr := arr.AsJSON;

3、多层json使用案例

json数据如下图:
在这里插入图片描述

代码实现:

var
  jo,jt,item :ISuperObject;
  ja   :TSuperArray;
  Arr  : array of array of string;
  I : Integer;
begin
   setlength(Arr,2,2);
   Arr[0,0] := '1';
   Arr[0,1] := '数学';
   Arr[1,0] := '2';
   Arr[1,1] := '语文';

 jo := SO();
 //root部分
 jo.O['ROOT'] := SO();
 jo.O['ROOT'].O['HEADER'] :=SO();
 jo.O['ROOT'].O['HEADER'].S['CALSS'] := '一班';
 //body部分
 jo.O['BODY'] := SO();
 jo.O['BODY'].I['ID']:= 1;
 jo.O['BODY'].O['LIST'] := SO('[]');     // 节点集合
  ja := jo.O['BODY'].A['LIST'];
   item := SO();
   item.S['STU_NUMBER'] := '1234';
   item.S['STU_NAME'] := '张三';
   item.I['STU_AGE'] := 15;
   item.O['BOOKLIST'] := SO('[]');
   jaBookList := item.A['BOOKLIST'];      //Arr := array[('1','数学'),('2','语文')] of string;
   for I := Low(Arr) to High(Arr) do
   begin
     itemBookList := SO();
     itemBookList.S['SUBJECT_NO'] := Arr[I][0];
     itemBookList.S['SUBJECT_NAME'] := Arr[I][1];
     jaBookList.Add(itemBookList);
    end;
   ja.Add(item);
end.

输出结果

在这里插入图片描述

{"BODY":{"ID":1,"LIST":[{"BOOKLIST":[{"SUBJECT_NAME":"数学","SUBJECT_NO":"1"},{"SUBJECT_NAME":"语文","SUBJECT_NO":"2"}],"STU_AGE":15,"STU_NAME":"张三","STU_NUMBER":"1234"}]},"ROOT":{"HEADER":{"CALSS":"一班"}}}
  • 22
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值