需要对象:循环遍历 JSON 数据时出现“[undefined]”错误
Object required: '[undefined]' error when looping through JSON data
我正在使用 Google 翻译 API,returns 结果为 JSON 格式 - 例如
{
"data": {
"translations": [
{
"translatedText": "Hola mundo"
},
{
"translatedText": "Te amo"
},
{
"translatedText": "queso"
}
]
}
}
我正在尝试使用经典 ASP 解析 JSON 数据。
我正在使用 ASPJSON (http://www.aspjson.com/) 来解析 JSON 数据。
到目前为止,我可以阅读数据 - 例如(其中 "BackFromGoogle")是来自 MSXML2.ServerXMLHTTP 调用的 objXML.responseText。
Set oJSON = New aspJSON
oJSON.loadJSON(BackFromGoogle)
For Each translation In oJSON.data("data") 'iterate through data
Set this = oJSON.data("data").item(translation)
Next
如果我再尝试:
For Each translation In oJSON.data("data") 'iterate through data
Set this = oJSON.data("data").item(translation)
Response.Write this.item("translations").item("translatedText")
Next
然后我得到这个错误:
Microsoft VBScript 运行时错误“800a01a8”
所需对象:'[undefined]'
对于这一行:
Response.Write this.item("translations").item("translatedText")
我很难找出允许我访问 "translatedText" 行的各个值的语法。
是否可以访问它们?
最后成功了。
通过此处的解决方案找到了答案:
VbScript Deserialize JSON
排序如下:
Set oJSON = New aspJSON
oJSON.loadJSON(BackFromGoogle)
For Each result In oJSON.data("data")("translations")
Set this = oJSON.data("data")("translations").item(result)
response.Write this.item("translatedText") & "<br>"
Next
我正在使用 Google 翻译 API,returns 结果为 JSON 格式 - 例如
{
"data": {
"translations": [
{
"translatedText": "Hola mundo"
},
{
"translatedText": "Te amo"
},
{
"translatedText": "queso"
}
]
}
}
我正在尝试使用经典 ASP 解析 JSON 数据。
我正在使用 ASPJSON (http://www.aspjson.com/) 来解析 JSON 数据。
到目前为止,我可以阅读数据 - 例如(其中 "BackFromGoogle")是来自 MSXML2.ServerXMLHTTP 调用的 objXML.responseText。
Set oJSON = New aspJSON
oJSON.loadJSON(BackFromGoogle)
For Each translation In oJSON.data("data") 'iterate through data
Set this = oJSON.data("data").item(translation)
Next
如果我再尝试:
For Each translation In oJSON.data("data") 'iterate through data
Set this = oJSON.data("data").item(translation)
Response.Write this.item("translations").item("translatedText")
Next
然后我得到这个错误:
Microsoft VBScript 运行时错误“800a01a8” 所需对象:'[undefined]'
对于这一行:
Response.Write this.item("translations").item("translatedText")
我很难找出允许我访问 "translatedText" 行的各个值的语法。
是否可以访问它们?
最后成功了。
通过此处的解决方案找到了答案: VbScript Deserialize JSON
排序如下:
Set oJSON = New aspJSON
oJSON.loadJSON(BackFromGoogle)
For Each result In oJSON.data("data")("translations")
Set this = oJSON.data("data")("translations").item(result)
response.Write this.item("translatedText") & "<br>"
Next