我必须使用以下JSON格式的服务来使用数据:
{
"field1": {
"key": "value"
},
"complexfield": {
"name1": {
"key": "value"
},"name2": {
"key": "value"
},"name3": {
"key": "value"
},"name4": {
"key": "value"
},"name5": {
"key": "value"
},"name6": {
"key": "value"
},"name7": {
"key": "value"
}
},
"field2": {
"key": "value"
}
}
这里field1 & field2
具有我可以创建pojo的常量格式,但对于complexfield
,内部name
对象每次都会有所不同(即格式相同但是{ {1}}每次都会改变。另外name
不是迭代它的数组,它是一个对象。有一点很清楚我不能为此创建pojo我必须去Object by Object,但是我怎么想在每个响应中获取具有不同名称的complexfields内部对象?使用complexfield
?
或
我可以通过获取每个子对象@ runtime的名称来迭代这样复杂的对象吗?
答案 0 :(得分:0)
我们最终使用了Gsons entrySet()
类的JsonObject
方法。参考:http://google-gson.googlecode.com/svn/tags/1.2.3/docs/javadocs/com/google/gson/JsonObject.html#entrySet()
我将键作为字符串和子对象获取为JsonElement
。
如何使用这个? 这是一个stackoverflow线程:Iterate over JsonObject properties