如何从JSON对象中删除包装器?
我有一个带有包装器的JSON对象,它包含有关它来自的服务的信息。 在解析对象之前,我真的很在意我想取下包装器,然后解析对象。
如何打开此JSON对象:
{"object":{"id_object": 1, "description": "Black" }, "origin":"colors"}
进入这个:
{"id_object": 1, "description": "Black"}
我使用GSON作为JSON解析器,但如果任何其他将给我function,我可以更改库。
提前致谢。
因为整个事情都是json的一团,所以“解开它”是没有意义的。 只需解析整个事物,并获取“对象”键的值,然后从那里开始。
超级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回答,这是正确的做法。