Json 如何使用Gson解析变量子节点?
为这个令人困惑的标题道歉,我想不出更好的标题了 My API返回如下响应:Json 如何使用Gson解析变量子节点?,json,gson,android,Json,Gson,Android,为这个令人困惑的标题道歉,我想不出更好的标题了 My API返回如下响应: { "type":"a", "extras":{ "a1":"valueA1", "a2":"valueA2" } } 如果类型为“b”,则响应如下: { "extras":{ "b1":"valueB1" }, "type":"b" //note that "type" may come after "extras
{
"type":"a",
"extras":{
"a1":"valueA1",
"a2":"valueA2"
}
}
如果类型为“b”,则响应如下:
{
"extras":{
"b1":"valueB1"
},
"type":"b" //note that "type" may come after "extras"
}
对于第三种类型的“c”,响应可以是:
{
"type":"c",
"extras":{
"b1":"valueB1",
"a1":"valueA1",
"a2":"valueA2"
}
}
以下是我的要求:
String a1;
String a2;
String b1;
我的客户在消费期间有这样的支票:
if(type.isA()) {
a1 = extras.a1;
a2 = extras.a2;
//there is no way to prevent developers from calling extras.b1
}
我的代码中有超过50个属性,并且有20种类型的空检查。有更好的办法吗
附加问题:我强烈感觉API设计得很糟糕。还有其他想法吗?1<代码>附加。b1将在类型
b
和c
中找到,对吗?2.每种响应类型(a、b、c)都有一组特定的附加值,我指的是一组固定的值。我只是随便举了个例子。extras.b1可以是a、b、c或全部(取决于API想要返回的内容)。2.把临时演员想象成一张地图;它可以有任意数量的钥匙。我有一个所有可能的钥匙的列表,但我不知道当前的额外钥匙中有哪些钥匙。