gpt4 book ai didi

json - 导航 JSON 路径

转载 作者:行者123 更新时间:2023-12-03 03:59:04 26 4
gpt4 key购买 nike

我正在尝试使用 TRestResponse 解析 JSON 响应。不幸的是,我对 JSON 的理解让我失望。

例如,给定以下 JSON:

{
"responses": [
{
"annotations": [
{
"description": "Eiffel Tower",
"score": 0.714323,
"boundingVals": {
"vertices": [
{
"x": 213,
"y": 813
},
{
"x": 332,
"y": 813
},
{
"x": 332,
"y": 2183
},
{
"x": 213,
"y": 2183
}
]
},
"locations": [
{
"latLng": {
"latitude": 48.858461,
"longitude": 2.294351
}
}
]
}
]
]
}

我可以使用以下方法检索第一个 x 值:

rstResponse.RootElement := 'responses[0].annotations[0].boundingVals.vertices';
x := VarToStr(MemTable.FieldValues['x']).ToInteger;

但是我无法使用以下方法检索纬度:

rstResponse.RootElement := 'responses[0].annotations[0].locations.latLng';
lat := VarToStr(FDMemTable.FieldValues['latitude']);

第一行返回错误:

Response RootElement, "responses[0].annotations[0].locations.latLng", is not a valid path for the Response JSON

我可以用这个:

rstResponse.RootElement := 'responses[0].annotations[0].locations';
s := VarToStr(FDMemTable.FieldValues['latLng']);

但是 s 显然是 { "latitude": 48.858461, "longitude": 2.294351 },我需要自己解析。

您能否强调一下'responses[0].annotations[0].locations.latLng'有什么问题?

最佳答案

locations 是一个对象数组,但您没有像对其他数组那样对其进行索引。试试这个:

rstResponse.RootElement := 'responses[0].annotations[0].locations[0].latLng';`

关于json - 导航 JSON 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55802335/

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