Как превращать array JSON в java.util. List используя Gson?

У меня есть один JsonObject названный "datos" со следующим контентом:

{
    "cliente": "127.0.0.1",
    "servidores": [
        "8.8.8.8",
        "8.8.4.4",
        "156.154.70.1",
        "156.154.71.1"
    ]
}

Я знаю, как я могу получать array "servidores" с:

mapping.get("datos").getAsJsonArray();

Сейчас я нуждаюсь в том, чтобы конвертировать этот объект JsonArray в объекте java.util.List...

Какова форма, самая легкая для того, чтобы достичь этого?


Первоначальный вопрос: Parsing JSON array into java.util. List with Gson

5
задан 23.05.2017, 15:39
1 ответ

Очень простой, только нужно продолжать следующие шаги.

  1. Создавать objecto Gson:

    Gson gson = new Gson();
    
  2. Получать тип (Type) списка, который ты хочешь построить, в этом случае List<String[]> (Заметьте себе, что класс Type это стандартный класс Java, обнаруженного в пакете java.lang.reflect):

    Type type = new TypeToken<List<String[]>>() {}.getType();
    
  3. Конвертировать объект JsonArray в объекте List<String> с:

    List<String[]> yourList = gson.fromJson(yourJsonArray, type);
    
3
ответ дан 01.12.2019, 08:17