我有一个pojo课堂
class A{
private List<String> colors;
// getters and setters.
}
数据采用json格式。
来自数据库的数据是---- {{colors“:”“}
数据应输入-A {“ colors”:[“ red”]}。
这里的问题是,java无法将字符串形式的数据{"colors":""}
转换为数组{"colors":["red"]}
。因此,我得到了InputMismatchException
。
是否可以将{"colors":""}
转换为{"colors":["red"]}
?
我想知道如何用Java处理这个问题。
我正在使用杰克逊解析器将json转换为java对象。
答案 0 :(得分:0)
您想要的基本上是从json文件加载颜色。 假设json文件称为“ colors.json”。 您应该做的是使用现有的第三方Java库之一,该库可以从文件读取并使用json对象。 例如,您可以使用“ org.json.simple”库。 示例可以在这里找到: https://www.mkyong.com/java/json-simple-example-read-and-write-json/
将文件“ colors.json”读入JSONParser后,您将获得一个JSONObject。 使用此对象,您可以通过编写以下内容获取颜色列表:
JSONArray colors = (JSONArray) obj.get("colors");
Iterator<String> iterator = msg.iterator();
while (iterator.hasNext()) {
String color = (String) iterator.next();
// add color to collor's list here:
...
}