java - 如何为具有时间戳值的实体类创建 Gson 对象?
问题描述
我有一个有效负载字符串,想将其更改为实体值。有效载荷如下:
{"resultCode":"200","resultMessage":"Success","consent":[{"name":"A","sourceSystem":"IGN","updateBy":"Admin","remark":"good","version":"1.0","updateDate":1600658621871},{"name":"B","sourceSystem":"IGN","updateBy":"Admin","remark":"good","version":"2.0","updateDate":1874819158457},{"name":"C","sourceSystem":"IGN","updateBy":"Admin","remark":"good","version":"3.0","updateDate":1358819159457}]}
和实体:
public class ListConsentResponse {
private String resultCode;
private String resultMessage;
private List<ConsentDTO> consent;
public String getResultCode() {
return resultCode;
}
public void setResultCode(String resultCode) {
this.resultCode = resultCode;
}
public String getResultMessage() {
return resultMessage;
}
public void setResultMessage(String resultMessage) {
this.resultMessage = resultMessage;
}
public List<ConsentDTO> getConsent() {
return consent;
}
public void setConsent(List<ConsentDTO> consent) {
this.consent = consent;
}
}
public class ConsentDTO {
private String name;
private String sourceSystem;
private String updateBy;
private String remark;
private String version;
private Timestamp updateDate;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSourceSystem() {
return sourceSystem;
}
public void setSourceSystem(String sourceSystem) {
this.sourceSystem = sourceSystem;
}
public String getUpdateBy() {
return updateBy;
}
public void setUpdateBy(String updateBy) {
this.updateBy = updateBy;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
public Timestamp getUpdateDate() {
return updateDate;
}
public void setUpdateDate(Timestamp updateDate) {
this.updateDate = updateDate;
}
}
但是当我使用 GsonBuilder 解析为 json 时:
ListConsentResponse listConsentResponse = Utility.createGsonObject()
.fromJson(payload, ListConsentResponse.class);
我有错误:
com.google.gson.JsonSyntaxException: 1600658621871
有什么方法可以帮助我将带有时间戳值的字符串解析为实体。或者至少我可以将有效载荷中的时间戳值更改为字符串值(例如将 1600658621871 更改为“1600658621871”)。谢谢。
解决方案
推荐阅读
- python - Discord.py send() 接受 1 到 2 个位置参数
- c - 完成 atoi 令牌后,我不能制作 strcpy 吗?
- reactjs - 平台 "win32" 与此模块 (fsevents) 不兼容
- mysql - MySQL 在 my.cnf 文件中设置 innodb_buffer_pool_size - 未找到
- mongodb - 仅当文档不存在时如何将文档添加到 mongo
- css - 如何使用 _app.js (Next.js) 中声明的全局 css 文件中的 css 类
- python - 如何将 Python 脚本添加到 HTML
- php - 如何使用 php 在邮件中提交联系表格?
- python - 腌制数据类的实例
- java - Docker MySQL在超时后丢弃表:连接关闭后不允许操作