gpt4 book ai didi

json - Delphi:JSON 数组

转载 作者:行者123 更新时间:2023-12-03 14:52:15 25 4
gpt4 key购买 nike

尝试理解 Delphi 中的 JSON。使用模块“DBXJSON.pas”。如何使用它来制作这样的数组:

Array:[
{"1":1_1,"1_2_1":1_2_2},
...,
]

这样做:

JSONObject:=TJSONObject.Create;
JSONArray:=TJSONArray.Create();
...
JSONArray.AddElement(TJSONObject.Create(TJSONPair.Create('1','1_1')));
JSONArray.AddElement(TJSONObject.Create(TJSONPair.Create('1_2_1','1_2_2')));
JSONObject.AddPair('Array',JSONArray);

,但是得到这个:

{
"Array":[
{"1":"1_1"},{"1_2_1":"1_2_2"}
]
}

请帮忙!谢谢!

最佳答案

您在上面发布的代码不正确。您已经创建了一个 JSON 数组并尝试将成对元素添加到该数组中。但是,您不必向数组添加对,而是必须向此数组添加 JSON 对象,并且这些对象必须包含您的对。
这是解决您的问题的示例代码:

program Project3;

{$APPTYPE CONSOLE}

uses
SysUtils, dbxjson;

var jsobj, jso : TJsonObject;
jsa : TJsonArray;
jsp : TJsonPair;
begin
try
//create top-level object
jsObj := TJsonObject.Create();
//create an json-array
jsa := TJsonArray.Create();
//add array to object
jsp := TJSONPair.Create('Array', jsa);
jsObj.AddPair(jsp);

//add items to the _first_ elemet of array
jso := TJsonObject.Create();
//add object pairs
jso.AddPair(TJsonPair.Create('1', '1_1'));
jso.AddPair(TJsonPair.Create('1_2_1', '1_2_2'));
//put it into array
jsa.AddElement(jso);

//second element
jso := TJsonObject.Create();
//add object pairs
jso.AddPair(TJsonPair.Create('x', 'x_x'));
jso.AddPair(TJsonPair.Create('x_y_x', 'x_y_y'));
//put it into array
jsa.AddElement(jso);

writeln(jsObj.ToString);
readln;

except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
end.

输出是

{"Array":[
{"1":"1_1","1_2_1":"1_2_2"},
{"x":"x_x","x_y_x":"x_y_y"}
]
}

关于json - Delphi:JSON 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10549935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com