Android 解析 json 具有未知属性名称的列表
Android parse json list with unknown attribute names
我需要解析一个 json 结构如下:
{
"names": {
"nameOne": {
"item": "my item"
},
"nameOther": {
"item": "my item 2"
},
... more elements with no prevously known attribute name
}
}
如果我不知道有多少 nameOne, nameOther...nameX 存在,我如何检索它?我的问题是建模 json,所以我不能使用 SerializedName。我认为可能存在类似 hashmap 的东西来存储这些对象。
这是无效的 JSON 结构。无论如何你可以检查这个
How to parse JSON Array (Not Json Object) in Android
对于解析 JSON 列表来说,列表中有多少元素并不重要。对列表元素执行简单的 for 循环,瞧。或者甚至更好地使用创建类似这样的东西来解析响应:
public class Foo {
private List<Names> objects;
}
你可以在这里使用serializable
您可以遍历 jsonObject 的键并将它们添加到地图
Object obj = new JSONParser().parse(new FileReader("JSONExample.json"));
JSONObject jo = (JSONObject) obj;
Iterator<String> keys = jo.keys();
while(keys.hasNext()) {
String key = keys.next();
if (jo.get(key) instanceof JSONObject) {
// do something with jsonObject here
}
}
像这样使用
@Expose
@SerializedName("names")
private HashMap<String, String> map;
地图键将包含 'nameOne,.......'
使用Gson作为json解析
我需要解析一个 json 结构如下:
{
"names": {
"nameOne": {
"item": "my item"
},
"nameOther": {
"item": "my item 2"
},
... more elements with no prevously known attribute name
}
}
如果我不知道有多少 nameOne, nameOther...nameX 存在,我如何检索它?我的问题是建模 json,所以我不能使用 SerializedName。我认为可能存在类似 hashmap 的东西来存储这些对象。
这是无效的 JSON 结构。无论如何你可以检查这个
How to parse JSON Array (Not Json Object) in Android
对于解析 JSON 列表来说,列表中有多少元素并不重要。对列表元素执行简单的 for 循环,瞧。或者甚至更好地使用创建类似这样的东西来解析响应:
public class Foo {
private List<Names> objects;
}
你可以在这里使用serializable
您可以遍历 jsonObject 的键并将它们添加到地图
Object obj = new JSONParser().parse(new FileReader("JSONExample.json"));
JSONObject jo = (JSONObject) obj;
Iterator<String> keys = jo.keys();
while(keys.hasNext()) {
String key = keys.next();
if (jo.get(key) instanceof JSONObject) {
// do something with jsonObject here
}
}
像这样使用
@Expose
@SerializedName("names")
private HashMap<String, String> map;
地图键将包含 'nameOne,.......'
使用Gson作为json解析