来自API的Json响应是动态的,解析JSON数据的可能方法是什么,
GSON到JSON,序列化名称不可能bcz数据是动态的。 任何人都可以建议解析JSON响应的可能方法。
{
"2": {
"id": 2,
"layout": "ListView"
},
"3": {
"menu": 0,
"id": 3,
"layout": "DetailView"
},
"start": {
"layout": "Search",
"onClick": {
"next": 2
},
"onBtnClick": {
"next": 3
}
}
}
其中" 2"或" 3"可以动态改变。
答案 0 :(得分:0)
您可以使用org.json库“手动”解析JSON,这将使您可以直接控制解析的内容和方式。
代码如下所示:
JSONObject json = new JSONObject(yourJsonString);
//This object will have String names inside, so "2", "3", "start" etc.
JSONArray names = json.names();
for(int i = 0; i < names.length(); i++) {
JSONObject data = json.getJSONObject(names.getString(i));
// Inside this data variable you will have the object.
// You can check which name it has and react accordingly
}
答案 1 :(得分:0)
您可以使用迭代器
Iterator<String> iter = json.keys();
while (iter.hasNext()) {
String key = iter.next();
...
}
答案 2 :(得分:0)
通过改造,很容易有json响应。