2013-06-15 2 views
0

Я пытаюсь получить информацию из ответа веб-службы. Я знаю, что ответ - это объект, который имеет несколько разных полей (name, id и т. Д.), Что одно из полей, называемое settings, может быть одним из трех типов (в зависимости от ответа) typeA, typeB и typeC, и что все эти типы являются объектами и имеют свои собственные поля.Получение информации из ответа веб-службы

Я могу добраться до name и id с использованием response.name или response.id. Если я использую response.settings, я получаю один из ответов: typeA, typeB и typeC. Я знаю, что typeA имеет поле size, и я хочу добраться до него, как я могу это сделать? Даже если я знаю, что ответ settings равен typeA, я до сих пор не могу использовать response.settings.typeA.size; Я получаю сообщение об ошибке. Как я могу написать, что если settings is typeA, я могу добраться до typeA.size?

+0

Вам нужно будет показать нам какой-то код. –

ответ

0

Так что если я понимаю вопрос, у вас есть объект ответа, и вы не знаете тип settings, он может быть typeA, typeB или typeC. Вы можете проверить его тип с помощью оператора is.

if(response.settings is typeA) 
... 

Здесь вы найдете SAMPLE. Единственное отличие: в этом коде typeA стоит отдельно, а не часть большего объекта.

+0

Я понимаю, как я могу получить тип, но что я делаю дальше? хорошо, я знаю, что это 'typeA', но я не могу выполнить' response.settings.typeA.size', как я могу получить размер typeA? – Alma

+0

typeA не поле, вы должны удалить его оттуда. – gkovacs90

+0

так как я могу добраться до 'размер'? response.settings [какой-то контроль, если это тип A] .size? Я не знаю, что делать – Alma

Смежные вопросы