簡體   English   中英

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

[英]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

但是,當我運行該代碼時,我在用戶列表中沒有得到validFromvalidTo validFromvalidTill所有值均為null。

我在這里想念什么???

嘗試在gson實例本身上設置日期格式

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM