我有这样的JSON数据:获取JSON数组和项目添加到组合框在Delphi
[
{
"Name":"val1",
"Age":"25"
},
{
"Name":"Vtya",
"Age":"24"
},
{
"Name":"fgani",
"Age":"21"
},
{
"Name":"Shami",
"Age":"21"
},
{
"Name":"Slakf",
"Age":"22"
}
]
我写了这个代码来解析数据和Name
值添加到组合框:
procedure TJSON_Sample.FormCreate(Sender: TObject);
var
LJsonArray: TJSONArray;
LJsonValue, LITEM: TJSONValue;
lJsonData: string;
ljsPair: TJsonPair;
begin
LJsonArray := TJSONObject.ParseJSONValue(TEncoding.
Default.GetBytes(lJsonData), 0) as TJSONArray;//lJsonData contains the above mentioned JSON data
try
for LJsonValue in LJsonArray do
begin
for LITEM in TJSONArray(LJsonValue) do
begin
cmbBox_Name.Items.Add(TJsonPair(LITEM).JsonValue.Value);
end;
end;
finally
LJsonArray.Free;
end;
end;
当我运行它时,它将所有名称和年龄添加到Combobox中。有人可以帮助我添加名称吗?
我还想说,您使用未经检查的强制转换意味着如果您的代码遇到具有不正确形式的数据,其行为将以未定义的方式运行。您需要使用is和as运算符进行检查类型测试和转换。 –