java在Gson中创建一些哈希类型结构来访问json中的值,而不是创建自定义类
如果我在一个更大的json中有一个json对象:
customer_data: {
details: {
personal_info: {
first: “George”
last: “Washington”
}
order_details: {
canceled: “true”
id:”1234”
}
}
如果除了使用getAsJsonObject
等遍历结构之外,我只需要customer_data
的特定值,那么如果我不想创建CustomerData
类,因为我不需要访问customer_data
的所有数据,还有其他方法访问它们吗
注意:我正在使用Gson
# 1 楼答案
Gson不支持通过XPath anology访问数据,如果您不想使用数据绑定,您只有两种方法:树模型或流式API。 最简单的是树模型:
JsonObject customerData = someBiggerJson.get("customer_data").getAsJsonObject(); String someInfo = customerData.get("some_field").gatAsString(); ...
在使用流式API的情况下,您应该在json中迭代到您需要的字段
reader = new JsonReader((<input_stream>) reader.nextString() reader.beginObject() reader.endObject() etc..