Получить список полей из списка объектов json с помощью Jackson

У меня есть данные JSON, полученные из api, я хочу получить список полей внутри данных json.

Данные JSON:

    [  
       {  
          "code":"en",
          "native":true,
          "plurals":{  
             "length":2,
             "forms":[  
                "one",
                "other"
             ]
          }
       }, {  
          "code":"de",
          "native":true,
          "plurals":{  
             "length":2,
             "forms":[  
                "one",
                "other"
             ]
          }
       }, {  
          "code":"le",
          "native":true,
          "plurals":{  
             "length":2,
             "forms":[  
                "one",
                "other"
             ]
          }
       }
]

Я хочу получить данные полей кода как list<String>, как показано ниже:

["en","de","le"]

как это сделать проще всего?

Примечание: я использую Spring RestTemplate для получения данных.

у тебя есть класс дто?

CodeIsLife 15.07.2018 15:41

@CodeIsLife Нет, мне нужно?

sam 15.07.2018 15:47

@CodeIsLife, если мне нужно, я могу создать его

sam 15.07.2018 15:51
Как сделать HTTP-запрос в Javascript?
Как сделать HTTP-запрос в Javascript?
В JavaScript вы можете сделать HTTP-запрос, используя объект XMLHttpRequest или более новый API fetch. Вот пример для обоих методов:
1
3
2 249
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуйте метод ниже.

public static void main(String[] args) throws JSONException {
        String jsonString  = jsonResponseFromApi;

        JSONObject obj= new JSONObject();
        JSONObject jsonObject = obj.fromObject(jsonString);

        ArrayList<String> list = new ArrayList<String>();

        for(int i=0; i<jsonObject.length(); i++){
            list.add(jsonObject.getJSONObject(i).getString("code"));
        }

        System.out.println(list);
    }   
    }

Обратитесь к теме ниже для получения более подробной информации Как разобрать этот ответ JSON в JAVA

Ответ принят как подходящий

Используйте метод findValues, чтобы извлечь значение всех свойств с именем "code":

ObjectMapper om = new ObjectMapper();
JsonNode tree = om.readTree(json);

List<JsonNode> code = tree.findValues("code");

Запуск его на ваших данных примера дает результат

["en", "de", "le"]

Другие вопросы по теме