我正在尝试从Web服务响应中获取信息。
我知道响应是一个对象,它有几个不同的字段(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
;我收到一个错误。
如果response
settings
typeA
为typeA.size
,我怎么能写出来{{1}}?
答案 0 :(得分:0)
所以,如果我理解了这个问题,你有一个响应对象而你不知道settings
的类型,它可以是typeA,typeB或typeC。
您可以使用is
运算符检查其类型。
if(response.settings is typeA)
...
您可以在这里找到SAMPLE。唯一的区别是:在这个代码中,typeA独立,不是更大的对象的一部分。