我有一个基于Spring引导和Java8构建的应用程序。我正在尝试将LocalDateTime对象从一种微服务传递给另一种微服务。尝试这样做时,出现以下错误。
"JSON parse error: Unexpected token (START_OBJECT), expected VALUE_STRING: Expected array or string.; nested exception is com.fasterxml.jackson.databind.JsonMappingException: Unexpected token (START_OBJECT), expected VALUE_STRING: Expected array or string.\n at [Source: java.io.PushbackInputStream@2930ef8b; line: 8, column: 16] (through reference chain:
我已将以下条目添加到我的应用程序中。
spring:
jackson:
serialization:
write-dates-as-timestamps: false
以及build.gradle中的以下条目。
compile 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
有人可以帮我解决这里的问题吗?
POJO看起来像这样。
@JsonFormat(pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
private LocalDateTime testDateTime;
JSON看起来像这样。
{ "date_field": "2019-03-27T05:00:00.000Z", }
答案 0 :(得分:0)
似乎您的配置有误。 JSON字符串中的名称为“ date_field”,而POJO的属性为“ testDateTime”。您应该让他们由杰克逊兑换。添加注释以指示字段名称为“ date_field”(使用@JsonProperty),或更改变量名称。