美文网首页
0005.ObjectMapper解析JSON(数组)字符串

0005.ObjectMapper解析JSON(数组)字符串

作者: 笑着字太黑 | 来源:发表于2022-04-25 17:51 被阅读0次

要解析的JSON(数组)电文:

    [{"name":"Parse list json test"}

解析代码

ObjectMapper mapper = new ObjectMapper();
mapper.findAndRegisterModules();
// 第一种,直接读取字符串
JsonNode jsonNode = mapper.readTree(forObject);
for(int i=0; i<jsonNode.size(); i++){
    String name = jsonNode.get(i).findPath("name").asText();
    System.out.println("====name:"+name);
}

// 第二种,读取为对象数组
JavaType javaType = mapper.getTypeFactory().constructParametricType(ArrayList.class, ItemRecord.class);
List<ItemRecord> itemList = mapper.readValue(forObject, javaType);
for (int i = 0; i < itemList.size(); i++) {
    System.out.println("====name:"+itemList.get(i).getName());
}

问题1:默认不支持java.time.LocalDate数据类型的解析

异常信息:Java 8 date/time type java.time.LocalDate not supported by default: add Module "com.fasterxml.jackson.datatype:jackson-datatype-jsr310" to enable handling
解决:
添加依赖:

      <dependency>
          <groupId>com.fasterxml.jackson.datatype</groupId>
          <artifactId>jackson-datatype-jsr310</artifactId>
      </dependency>

加载jackson-datatype-jsr31模块:

mapper.findAndRegisterModules();

相关文章

网友评论

      本文标题:0005.ObjectMapper解析JSON(数组)字符串

      本文链接:https://www.haomeiwen.com/subject/mnlfyrtx.html