2016-04-25 72 views
6

我有一个返回一个字符串列表,只有一个字符串列表web服务:JSON字符串数组到Java字符串列表

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

我怎么能转换成Java中的ArrayList<String>呢?我试图使用杰克逊,因为我知道你可以将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); 

或者,如果你使用的是IBM的JSONArray(com.ibm.json.java.JSONArray):

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