ASP vbscript не может обнаружить объект JSON - PullRequest
1 голос
/ 25 января 2011

strJSON = getcontent (url)

возврат данных, как показано ниже

{"error":{"type":"OAuthException","message":"Error validating access token."}}

Тогда я могу легко получить его с помощью

set return= JSON.parse(strJSON)

Отсюда я могу легко получитьвсе значения внутри через ниже

response.write return.error.type
response.write return.error.message

НО

Если I response.write return.error.otherobjectnotexist

Будет возвращено сообщение об ошибке Object doesn't support this property or method: 'otherobjectnotexist'

Это нормальнокогда я точно знаю, какие объекты я получу взамен.

В реальном сценарии мы не узнаем, что возвращено, а что нет.Особенно, когда json возвращается со стороннего веб-сайта.

Пример. Я использую facebook connect для получения значения открытого графика пользователя и возврата в виде json.

Некоторый пользователь заполнил "пол", поэтому facebookвернет этот объект.Некоторые пользователи никогда не вводят «пол», поэтому Facebook никогда не вернет этот объект.

Моя программа по умолчанию выдаст response.write return.gender

Если у меня нет способа определить, существует ли объектили нет, и ASP напрямую выдает ошибку, останавливая всю программу, это будет хлопотно ...

Эксперты!Есть ли способ решить эту проблему?

Ответы [ 2 ]

1 голос
/ 31 января 2011

вы можете проверить, существует ли объект

, если isObject (NameOfObjectGoesHere), то .....

1 голос
/ 27 января 2011

если я вас правильно понимаю, вы хотите обработать сценарий при попытке получить доступ к несуществующему свойству. Вы можете отловить ошибку и соответственно отреагировать, например

' change error handling to carry on in error
on error resume next
' get the property
dim prop: prop = return.gender
if err.number <> 0
    'do something (or nothing)
    err.clear
end if
' reset error handling
on error goto 0
...