![](/img/trans.png)
[英]Java / Jackson - 'Unrecognized token' passing JSON object parameter
[英]Unrecognized token error while converting JSON String to Java Object List
这是JSON
字符串,我想将其转换为 java object 列表。
String manuallyVerificationRemarks = "[{
"logedInUserName": "forum-admin",
"actionDate": null,
"action": null,
"remarksText": "done by admin..."
}, {
"logedInUserName": null,
"actionDate": null,
"action": null,
"remarksText": null
}]";
下面是我如何将字符串转换为 object。
private ObjectMapper objectMapper = new ObjectMapper();
try{
remarksDtoList = objectMapper.readValue(manuallyVerificationRemarks, new TypeReference<List<RemarksDTO>>() {});
} catch (Exception e) {
e.printStackTrace();
}
这是目标 DTO
public class RemarksDTO implements Serializable {
/**
* serialVersionUID
*/
private static final long serialVersionUID = 1L;
private String logedInUserName;
private Date actionDate;
private String action;
private String remarksText;
RemarksDTO(){
super();
}
public RemarksDTO(String remarks,String userName){
this.remarksText = remarks;
this.logedInUserName=userName;
}
public RemarksDTO(String userName,Date actionDate,String action,String remarks){
this.logedInUserName =userName;
this.action=action;
this.remarksText = remarks;
this.actionDate = actionDate;
}
public String getLogedInUserName() {
return logedInUserName;
}
public void setLogedInUserName(String logedInUserName) {
this.logedInUserName = logedInUserName;
}
public String getRemarksText() {
return remarksText;
}
public void setRemarksText(String remarksText) {
this.remarksText = remarksText;
}
public RemarksDTO(String remarks){
this.remarksText = remarks;
}
public Date getActionDate() {
return actionDate;
}
public void setActionDate(Date actionDate) {
this.actionDate = actionDate;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
@Override
public String toString(){
return "RemarksDTO [logedInUserName=" + logedInUserName + ", remarksText=" + remarksText + "]";
}
}
我收到以下错误:匿名类型声明不能用于评估表达式and here is error trace.... com.fasterxml.jackson.databind.JsonMappingException: Unrecognized token 'nul': was expecting 'null', 'true', 'false' or NaN at [Source: [{"logedInUserName":"forum-admin","actionDate":nul l,"action":null,"remarksText":"new simple Test is abused done by admin."},{"logedInUserName":null,"actionDate":null,"action":null,"remarksText":null}]; line: 1, column: 51] at [Source: [{"logedInUserName":"forum-admin","actionDate":nul l,"action":null,"remarksText":"new simple Test is abused done by admin."},{"logedInUserName":null,"actionDate":null,"action":null,"remarksText":null}]; line: 1, column: 35] (through reference chain: java.util.ArrayList[0])
and here is error trace.... com.fasterxml.jackson.databind.JsonMappingException: Unrecognized token 'nul': was expecting 'null', 'true', 'false' or NaN at [Source: [{"logedInUserName":"forum-admin","actionDate":nul l,"action":null,"remarksText":"new simple Test is abused done by admin."},{"logedInUserName":null,"actionDate":null,"action":null,"remarksText":null}]; line: 1, column: 51] at [Source: [{"logedInUserName":"forum-admin","actionDate":nul l,"action":null,"remarksText":"new simple Test is abused done by admin."},{"logedInUserName":null,"actionDate":null,"action":null,"remarksText":null}]; line: 1, column: 35] (through reference chain: java.util.ArrayList[0])
异常消息告诉您输入中有'nul'而不是null / true / false / NaN值:
[{"logedInUserName":"forum-admin","actionDate":nul
..
[{"logedInUserName":"forum-admin","actionDate":nul
因此,解析器无法将此值映射到DTO中的actionDate属性。 检查人工符号上的输入。
您可以做的一种方法是制作包装器 class,然后从包装器一中提取数据并将其放入原始包装器中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.