[英]Gson.fromJson() not parsing Date fields
我正在執行一個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
但是,當我運行該代碼時,我在用戶列表中沒有得到validFrom
和validTo
。 validFrom
和validTill
所有值均為null。
我在這里想念什么???
嘗試在gson
實例本身上設置日期格式
Gson gson = new GsonBuilder()
.setDateFormat("yyyy-mm-dd").create();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.