【发布时间】:2020-01-30 04:21:04
【问题描述】:
我有一个日期如下的 json 文件:
{
...
"dob":"20001010",
"registerdate":"20001010121212",
...
}
我在课堂上使用:
public class User implements Serializable {
... some other
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyyMMdd
public java.util.Date dob; // this works
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyyMMddHHmmss")
public java.util.Date registerdate;
}
然后在我的测试中我使用 Gson 来转换文件
User user = new Gson().fromJson("user.json", User.class);
但是当这个运行时,我得到:
com.google.gson.JsonSyntaxException: 20001010121212
我与:yyyyMMddHHmmss 或 YYYYMMddHHmmss 或 YYYYMMDDHHmmss 相同的结果
pom:
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
【问题讨论】:
-
请提供Gson lib的版本
-
我正在使用:2.8.5
-
@JsonFormat是 Jackson 注释,而不是 Gson 注释。如果您的类路径中已经有 Jackson,请使用它将 Json 文本解析为User对象。 -
@Andreas 不知道该怎么办那我该怎么办?
-
@yenk 我已经告诉过你了:使用 Jackson 来解析。