我正在使用Google Translation API,它以JSON格式返回结果 - 例如
{
"data": {
"translations": [
{
"translatedText": "Hola mundo"
},
{
"translatedText": "Te amo"
},
{
"translatedText": "queso"
}
]
}
}
我正在尝试使用Classic 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”行的各个值。
是否可以访问它们?
答案 0 :(得分:2)
最终有了这项工作。
通过此解决方案找到答案: 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