将json解析为Object时出现JsonMappingException

时间:2017-08-02 09:33:36

标签: java json spring-mvc jackson

我想通过jackson将json更改为object,并且该对象包含 List<Output> output = Stream.of(Stream.of(new Node(1), new Node(2)), Stream.of(new Node(2))) .flatMap(x -> x) .collect(Collectors.collectingAndThen( Collectors.groupingBy( Node::getNodeId, Collectors.summingInt(n -> 1)), map -> map.entrySet() .stream() .map(e -> new Output(e.getKey(), e.getValue())) .collect(Collectors.toList()))); System.out.println(output); // [id = 1 count = 1, id = 2 count = 2] 类型字段。

例外:

  

com.fasterxml.jackson.databind.JsonMappingException:无法解析日期值'30 -Mar-2017'(格式:“dd-MMM-yyyy”):无法解析的日期:“2017年3月30日”(通过参考) chain:com.csit.po.transfer.BLiSTransferSubmitRequest [“requestedServiceDate”])

豆:

Date

我提供了setter / getter,字段可以逐个映射。 我使用@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MMM-yyyy") @DateTimeFormat(pattern = "dd-MMM-yyyy") private Date requestedServiceDate; 的{​​{1}}将json更改为object。

1 个答案:

答案 0 :(得分:0)

我知道这个例外的原因,当系统语言可能是中文或其他人时,杰克逊会推动该异常,当我将语言改为英语时,它的工作正常,也许杰克逊需要获得系统语言并格式化日期