我有一个带有包装器的JSON对象,其中包含有关它来自的服务的信息。在解析对象之前,我非常关心我想取下包装器,然后解析对象。
如何更改此JSON对象:
{"object":{"id_object": 1, "description": "Black" }, "origin":"colors"}
进入这个:
{"id_object": 1, "description": "Black"}
我使用GSON作为JSON解析器,但如果其他任何人都会给我功能,我可以更改库。
提前致谢。
答案 0 :(得分:4)
由于整个事物都是json的一团,因此“解开它”是没有意义的。只需解析整个事物,并抓住“对象”键的值,然后从那里开始。
答案 1 :(得分:1)
超级hacky解决方案:
private class Holder{
private IdHolder object;
private String origin;
public IdHolder getObject() {
return object;
}
public String getOrigin() {
return origin;
}
private class IdHolder{
private int id_object;
private String description;
}
}
Holder holder = gson.fromJson("{\"object\":{\"id_object\": 1, \"description\": \"Black\" }, \"origin\":\"colors\"}", Holder.class);
System.out.println(gson.toJson(holder.getObject()));
会推荐@bmargulies回答,这是正确的做法。