如果我在一个更大的json中有一个json对象:
customer_data: {
details: {
personal_info: {
first: “George”
last: “Washington”
}
order_details: {
canceled: “true”
id:”1234”
}
}
如果除了使用customer_data
等遍历结构之外我只想要getAsJsonObject
的特定值,那么如果我想避免创建CustomerData
类,我还有其他方法可以访问它们不需要访问customer_data
的所有数据?
注意:我正在使用Gson
答案 0 :(得分:0)
Gson不支持通过XPath anology进行数据访问,如果您不想使用Data Binding,则只有两种方式:Tree Model或Streaming API。 最简单的是树模型:
JsonObject customerData = someBiggerJson.get("customer_data").getAsJsonObject();
String someInfo = customerData.get("some_field").gatAsString();
...
如果使用Streaming API,你应该用你手中的json迭代到你需要的字段。
reader = new JsonReader((<input_stream>)
reader.nextString()
reader.beginObject()
reader.endObject() etc..