Json String数组进入Java String列表

时间:2016-04-25 16:26:11

标签: java json jackson java-8

我有一个webservice,它返回一个字符串列表,只返回一个字符串列表:

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

如何在java中将其转换为ArrayList<String>?我正在尝试使用jackson,因为我知道你可以用它将Json转换成对象,但我找不到像这样的例子。

3 个答案:

答案 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);
}