我有一个JSON对象,其中包含其他键值类型的字符串。以下是我的JSON代码:
{
"objs": [
{
"obj1": {
"ID1": 1,
"ID2": 2
}
}
]
}
如何解析"ID1"
和"ID2"
?
答案 0 :(得分:1)
JSON的正确方法是:
{"objs":[
{"obj1":
{"ID1":1,"ID2":2}
}
]
}
如果你想使用GSON:
JsonElement jelement = new JsonParser().parse(jsonLine);
JsonObject jobject = jelement.getAsJsonObject();
jobject = jobject.getAsJsonObject("objs");
JsonArray jarray = jobject.getAsJsonArray("obj1");
jobject = jarray.get(0).getAsJsonObject();
String ID1 = jobject.get("ID1").toString();
String ID2 = jobject.get("ID2").toString();
答案 1 :(得分:1)
创建类,添加变量并标记它们以进行反序列化:
public class Root {
@SerializedName("objs")
public List<Obj> objects;
}
public class Obj {
@SerializedName("obj1")
public Obj1 obj1;
}
public class Obj1 {
@SerializedName("ID1")
public int ID1;
@SerializedName("ID2")
public int ID2;
}
然后反序列化您的JSON:
Gson gson = new Gson();
Root root = gson.fromJson(jsonString, Root.class);