我有一个webservice,它返回一个字符串列表,只返回一个字符串列表:
["string1","string2","string3"]
如何在java中将其转换为ArrayList<String>
?我正在尝试使用jackson,因为我知道你可以用它将Json转换成对象,但我找不到像这样的例子。
答案 0 :(得分:6)
对于其他可能需要此项目的人:
String jsonString = "[\"string1\",\"string2\",\"string3\"]";
ObjectMapper mapper = new ObjectMapper();
List<String> strings = mapper.readValue(jsonString, List.class);
答案 1 :(得分:2)
正如ryzhman所说,你可以将它转换为List,但只有对象(在ryzhman的情况下为JSONArray)扩展了ArrayList类。 你不需要一个完整的方法。你可以简单地说:
List<String> listOfStrings = new JSONArray(data);
或者如果您使用的是IBM的JSONArray(com.ibm.json.java.JSONArray):
List<String> listOfStrings = (JSONArray) jsonObject.get("key");
答案 2 :(得分:1)
这很奇怪,但是从新的JSONArray(stringWithJSONArray)直接转换为List。 至少我能够这样做:
public List<String> method(String data) {
return new JSONArray(data);
}