Сохранение JSON ответа в List или HashMap - PullRequest
2 голосов
/ 28 марта 2020

У меня есть какой-то JSON ответ от модернизации, что я не знаю, как с этим справиться, не могли бы вы помочь мне с этим? Я просто хочу сохранить его где-нибудь, но я думаю, что List не подходит для этого, так что, может быть, HashMap? Ответ выглядит как

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

и т. Д. Не могли бы вы дать мне подсказку, как мне хранить это? Буду очень признателен за любую помощь.

Ответы [ 2 ]

0 голосов
/ 28 марта 2020

Предполагая, что вы хотите проанализировать строку Json в структурированном формате. Вы можете использовать Джексона, чтобы сопоставить его с хэш-картой.

Вы можете сделать это следующим образом

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();
        }
    }
}

Вы можете получить Джексона из следующей зависимости, если используете maven

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

Вы можете прочитать больше на главной странице портала Джексона 1010 *

0 голосов
/ 28 марта 2020

HashMap - лучший способ его хранения, поскольку он предоставляет вам доступ к специальным методам (таким как containsKey, containsValue и compute), которые можно использовать для интерпретации и манипулирования данными.

Чтобы избежать необходимости писать шаблонный код, я бы порекомендовал использовать библиотеку для обработки для вас, например, Джексон . Это также поможет, если вам когда-нибудь придется написать свои JSON ответы.

...