gpt4 book ai didi

java - Gson.fromJson() 不解析日期字段

转载 作者:行者123 更新时间:2023-12-02 11:52:59 27 4
gpt4 key购买 nike

我正在执行一个 CommandLineRunner,它接受输入文件 (json) 并将其转换为 dto 以进行进一步处理。

List<UserCreateDto> users = gson.fromJson(new InputStreamReader(new ClassPathResource("user.json").getInputStream()), new TypeToken<List<UserCreateDto>>() {
}.getType());

json 看起来像这样:

[
{
"username": "user2",
"firstName": "userfirst2",
"lastName": "userlast2",
"password": "userpass2",
"validFrom": "2017-01-01",
"validTill": "2020-01-01"
},
{
"username": "user1",
"firstName": "userfirst",
"lastName": "userlast",
"password": "userpass",
"validFrom": "2017-01-01",
"validTill": "2020-01-01"
}]

dto 相当简单。仅添加一件事

@DateTimeFormatter(format = "yyyy-mm-dd")
private Date validFrom;

@DateTimeFormatter(format = "yyyy-mm-dd")
private Date validTill;

这里的日期是java.util.Date

但是,当我运行该代码时,我在用户列表中没有获得 validFromvalidTovalidFromvalidTill 的所有值均为 null。

我在这里缺少什么???

最佳答案

尝试在 gson 实例化本身上设置日期格式

Gson gson = new GsonBuilder()
.setDateFormat("yyyy-mm-dd").create();

关于java - Gson.fromJson() 不解析日期字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47762941/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com