所需对象:';[未定义]';在JSON数据中循环时出错

所需对象:';[未定义]';在JSON数据中循环时出错,json,asp-classic,Json,Asp Classic,我正在使用GoogleTranslationAPI,它以JSON格式返回结果——例如 { "data": { "translations": [ { "translatedText": "Hola mundo" }, { "translatedText": "Te amo" }, { "translatedText": "queso" } ] } } 我正在尝试使用经典ASP解析JSON数据 我正在使用ASPJSON()解

我正在使用GoogleTranslationAPI,它以JSON格式返回结果——例如

{
 "data": {
  "translations": [
   {
    "translatedText": "Hola mundo"
   },
   {
    "translatedText": "Te amo"
   },
   {
    "translatedText": "queso"
   }
  ]
 }
}
我正在尝试使用经典ASP解析JSON数据

我正在使用ASPJSON()解析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” 所需对象:“[未定义]”

对于这一行:

Response.Write this.item("translations").item("translatedText")
我很难理解语法,以便访问“translatedText”行的各个值


有可能访问它们吗?

最终实现了这一点

通过此处的解决方案找到答案:

这就对它进行了分类:

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
Set oJSON=New aspJSON
loadJSON(BackFromGoogle)
对于oJSON.data(“数据”)(“翻译”)中的每个结果
设置此项=oJSON.data(“数据”)(“翻译”)。项(结果)
回答。写下此项(“translatedText”)和“
” 下一个