有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

  1. # 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..