gpt4 book ai didi

json - 使用uJson for Delphi解码json

转载 作者:行者123 更新时间:2023-12-02 09:37:27 25 4
gpt4 key购买 nike

我有一个看起来像这样的JSON文件,我正在尝试对其进行解码,但是没有运气:

[
{
"FirstName": "Kim",
"Surname": "Jensen"
},
{
"FirstName": "Amery",
"Surname": "Mcmillan"
},
{
"FirstName": "Denton",
"Surname": "Burnett"
}
...
]

将uJson与Delphi 2007结合使用,我知道当数组具有如下名称时如何提取数据:

{
"Names": [
{
"FirstName": "Kim",
"Surname": "Jensen"
},
{
"FirstName": "Amery",
"Surname": "Mcmillan"
},
{
"FirstName": "Denton",
"Surname": "Burnett"
}
...
]
}

var
json: TJSONObject;
Text: String;
i: Integer;
begin
json := TJSONObject.create(jsontext);

for i:=0 to json.getJSONArray('Names').Length -1 do
begin
Text := json.getJSONArray('Names').getJSONObject(i).optString('FirstName');
...
end;
end;

但是,这个数组没有名字,我已经尝试了几乎所有我能想到的东西,但是这个简单的事情却花了我几个小时才能弄清楚。

最佳答案

在您遇到麻烦的JSON中,顶级数据是数组,因此您需要使用TJSONArray而不是TJSONObject对其进行解析。

var
json: TJSONArray;
Text: String;
i: Integer;
begin
json := TJSONArray.create(jsontext);
try
for i := 0 to json.Length-1 do
begin
Text := json.getJSONObject(i).optString('FirstName');
...
end;
finally
json.Free;
end;
end;

关于json - 使用uJson for Delphi解码json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56674535/

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