Java 在列表或HashMap中存储JSON响应

Java 在列表或HashMap中存储JSON响应,java,android,json,retrofit,Java,Android,Json,Retrofit,我从改造中得到了一些JSON响应,我不知道如何处理它,你能帮我吗?我只是想把它存储在某个地方,但我认为列表对它不好,所以也许HashMap?反应看起来像 { "object" : { "key1" : "value1", "key2" : "value2" } } 等等。。你能给我一些提示吗?我该如何储存?非常感谢您的帮助。HashMap是存储它的最佳方式,因为它允许您访问特殊方法(例如containsKey、containsVa

我从改造中得到了一些JSON响应,我不知道如何处理它,你能帮我吗?我只是想把它存储在某个地方,但我认为列表对它不好,所以也许HashMap?反应看起来像

{ 
    "object" : 
    { 
        "key1" : "value1", 
        "key2" : "value2"
    }
}

等等。。你能给我一些提示吗?我该如何储存?非常感谢您的帮助。

HashMap是存储它的最佳方式,因为它允许您访问特殊方法(例如
containsKey
containsValue
compute
),您可以使用这些方法来解释和操作数据


为了避免编写样板代码,我建议使用库为您处理解析,例如。如果您需要编写自己的JSON响应,它也会有所帮助

假设要将Json字符串解析为结构化格式。您可以使用jackson将其映射到hashmap

你可以按照下面的方法来做

import com.fasterxml.jackson.databind.ObjectMapper;

  public void foo() {
       String jsonString = " { \"object\" : { \"key1\" : \"value1\", \"key2\" : \"value2\" } } ";
        ObjectMapper mapper = new ObjectMapper();
        try {

            // convert JSON string to Map
            Map<String, String> map = mapper.readValue(jsonString, Map.class);

        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

import com.fasterxml.jackson.databind.ObjectMapper;
公共图书馆{
字符串jsonString=“{\'object\':{\'key1\':\'value1\',\'key2\':\'value2\'}”;
ObjectMapper mapper=新的ObjectMapper();
试一试{
//将JSON字符串转换为映射
Map Map=mapper.readValue(jsonString,Map.class);
}捕获(IOE异常){
e、 printStackTrace();
}
}
}
如果您使用的是maven,您可以从以下依赖项中获得jackson

<dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.9.8</version>
    </dependency>

com.fasterxml.jackson.core

Json的结构是否已固定和定义?如果是这样,您可以使用Jackson将其转换为Java对象。另外,您希望存储此结果的目的是什么?我的意思是,如果你的主要动机是将它存储在某个地方,那么将它简单地存储为字符串的问题是什么?