2015-11-21 11 views
0

Я работаю с API перевода Google, который возвращает результаты в формате JSON - например,Требуемый объект: ошибка «[undefined]» при переходе по данным JSON

{ 
"data": { 
    "translations": [ 
    { 
    "translatedText": "Hola mundo" 
    }, 
    { 
    "translatedText": "Te amo" 
    }, 
    { 
    "translatedText": "queso" 
    } 
    ] 
} 
} 

Я пытаюсь разобрать данные JSON с использованием классического ASP.

Я использую ASPJSON (http://www.aspjson.com/) для анализа данных JSON.

До сих пор я могу прочитать данные - например. (где «BackFromGoogle») является objXML.responseText из вызова MSXML2.ServerXMLHTTP.

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") 

Я очень застрял в разработке синтаксиса, чтобы позволить мне получить доступ к отдельным значениям строк «translText».

Доступно ли им к ним доступ?

ответ

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 
Смежные вопросы