2016-04-25 7 views
6

У меня есть веб-сервиса, который возвращает список строк, только список строк:Json массив строк в список Java Строка

["string1","string2","string3"] 

Как я могу преобразовать это в ArrayList<String> в Java? Я пытаюсь использовать jackson, поскольку я знаю, что вы можете преобразовать Json в объекты с ним, но я не могу найти пример такого случая.

+0

Вам не нужно Джексоном для этого –

+1

@ sᴜʀᴇsʜᴀᴛᴛᴀ Итак, как если бы я сделал это изначально? –

ответ

5

Для кого-то, кто может понадобиться это:

String jsonString = "[\"string1\",\"string2\",\"string3\"]"; 
ObjectMapper mapper = new ObjectMapper(); 
List<String> strings = mapper.readValue(jsonString, List.class); 
0

Это странно, но есть прямое преобразование из нового JSONArray (stringWithJSONArray) в список. По крайней мере, я был в состоянии сделать так:

public List<String> method(String data) { 
    return new JSONArray(data); 
} 
1

Как сказал ryzhman, вы можете бросить его в список, но только объекта (JSONArray в случае ryzhman в) расширяет класс ArrayList. Для этого вам не нужен целый метод. Вы можете просто:

List<String> listOfStrings = new JSONArray(data); 

Или, если вы используете JSONArray компании IBM (com.ibm.json.java.JSONArray):

List<String> listOfStrings = (JSONArray) jsonObject.get("key");