delphi json 嵌套數組
时间: 2024-08-01 15:01:39 浏览: 118
delphi 编程 数组的使用
在Delphi的JSON组件中,处理嵌套数组(nested arrays)涉及到对复杂数据结构的理解和处理。当你有一个包含多个层级的数据,例如:
```json
{
"fruits": [
{
"name": "Apple",
"colors": ["Red", "Green", "Yellow"]
},
{
"name": "Banana",
"colors": ["Yellow", "Green"]
}
]
}
```
首先,你需要创建一个`TJSONObject`实例来存储整个JSON数据,然后可以使用`As<TJSONArray>`方法逐级深入到指定的数组。例如,如果你想访问`fruits`下的所有颜色数组,可以这样做:
```pascal
var
Fruits: TJSONArray;
FruitItem: TJSONObject;
Colors: TArray<String>;
begin
// 解析JSON字符串
var Data: TJSONObject;
if JSONValue.TryParse(jsonStr, Data) then
begin
// 获取fruits数组
Fruits := Data.As<TJSONArray>('fruits');
// 遍历每一个水果
for I := 0 to Fruits.Count - 1 do
begin
// 将水果对象转换为TJSONObject
FruitItem := Fruits[I].As<TJSONObject>;
// 从水果对象中提取颜色数组
Colors := FruitItem['colors'].As<TJSONArray>().ValuesAsStringArray;
// 处理颜色数组,例如打印它们
for Color in Colors do
WriteLn(Color);
end;
end;
end;
阅读全文