需要对象:循环遍历 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