Delphi中JSon数据拼写
首先需要下载
1、使用SuperObject创建JSON对象
- 在代码中引入SuperObject单元:
uses SuperObject; - 声明一个SuperObject的变量:
var obj: ISuperObject; - 使用Create函数创建一个新的SuperObject对象:
obj := SO; - 添加属性和值到对象中:
obj.S['name'] := 'John'; - 将SuperObject对象转换为JSON字符串:
var jsonStr: string; jsonStr := obj.AsJSON;
2、使用SuperArray创建JSON数组
- 在代码中引入SuperObject和SuperArray单元:
uses SuperObject, SuperArray; - 声明一个SuperArray的变量:
var arr: ISuperArray; - 使用Create函数创建一个新的SuperArray对象:
arr := SA; - 向数组中添加元素:
arr.Add(1); - 将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":"一班"}}}