{
"code": 0,
"data": {
"KAVAUSDT": {
"name": "KAVAUSDT",
"min_amount": "0.5",
"maker_fee_rate": "0.003",
"taker_fee_rate": "0.003",
"pricing_name": "USDT",
"pricing_decimal": 4,
"trading_name": "KAVA",
"trading_decimal": 8
},
"CFXUSDT": {
"name": "CFXUSDT",
"min_amount": "5",
"maker_fee_rate": "0.003",
"taker_fee_rate": "0.003",
"pricing_name": "USDT",
"pricing_decimal": 6,
"trading_name": "CFX",
"trading_decimal": 8
},
... continue
}
}
如果有[
和]
符号,我可以用TJsonArray
快速解决:
...
JsonArray := JsonValue.GetValue<TJSONArray>('data');
for ArrayElement in JsonArray do
begin
tempName := ArrayElement.GetValue<String>('name');
tempPricingName := ArrayElement.GetValue<String>('pricing_name');
...
end;
此Json类型中没有[
和]
符号。
没有[
和]
符号,我无法访问数据,因为它使用for
循环。
有一个简单的解决方案吗?
您所显示的JSON文档中没有数组。"KAVAUSDT"
,"CFXUSDT"
等不是数组元素,它们只是"data"
对象的简单命名对象字段。如果需要遍历"data"
对象的子字段,则可以使用TJSONObject
(而不是TJSONArray
!),例如:
...
JsonObj := JsonValue.GetValue<TJSONObject>('data');
for Field in JsonObj do
begin
FieldObj := Field.JsonValue as TJSONObject;
tempName := FieldObj.GetValue<String>('name');
tempPricingName := FieldObj.GetValue<String>('pricing_name');
...
end;