Java中从字符串到字符串数组的JSON映射

时间:2018-09-16 09:58:28

标签: java json inputmismatchexception

我有一个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对象。

1 个答案:

答案 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:
   ...
}