如何使用GSON解析JSON字符串?

时间:2015-05-27 09:20:45

标签: java android json gson

我有一个JSON对象,其中包含其他键值类型的字符串。以下是我的JSON代码:

{
  "objs": [
    {
      "obj1": {
        "ID1": 1,
        "ID2": 2
      }
    }
  ]
}

如何解析"ID1""ID2"

2 个答案:

答案 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);