【发布时间】:2014-04-04 21:41:02
【问题描述】:
我有一个 json 文件。
{
"data" : [
"my/path/old",
"my/path/new"
]
}
我需要将它转换为字符串的 ArrayList。如何使用 Jackson 库?
更新:
我的代码:
Gson gson = new Gson();
JsonReader reader = new JsonReader(new InputStreamReader(FileReader.class.getResourceAsStream(file)));
List<String> list = (ArrayList) gson.fromJson(reader, ArrayList.class);
for (String s : list) {
System.out.println(s);
}
我的例外:
Exception in thread "main" com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Expected value at line 1 column 1
我的最新消息
UPD2:
Gson gson = new Gson();
Type list = new TypeToken<List<String>>(){}.getType();
JsonReader reader = new JsonReader(new InputStreamReader(FileReader.class.getResourceAsStream(file)));
List<String> s = gson.fromJson(reader, list);
System.out.println(s);
【问题讨论】:
-
他们使用 GSON 和 JSR 353。
-
看第一个答案。
-
正确答案是使用
jackson@Flavio -
您的 JSON 是一个对象,而不是一个数组。没有明显的方法可以将其转换为
List。你想要名为data的数组吗?