解析 JSONString ( assigned=[util.TaskAudit@24c7b944]}) 如下:
Map<String, List<TaskAudit>> auditTrailMap = new HashMap<>();
ObjectMapper mapper = new ObjectMapper();
mapper.configure(Feature.ALLOW_UNQUOTED_FIELD_NAMES, true);
try {
auditTrailMap = mapper.readValue(strObject, new TypeReference<Map<String, List<TaskAudit>>>(){});
} catch (IOException e) {
log.error("{}", e);
}
我收到以下异常:
com.fasterxml.jackson.core.JsonParseException: Unexpected character ('=' (code 61)): 期望在 [Source: {assigned=[util.TaskAudit@24c7b944]} 处用冒号分隔字段名称和值 [junit] ; 行:1,列:11]
任何人都可以提供有关如何解决该问题的任何线索。
编辑:基本上这个函数的输入是来自数据库的字符串字段。在保存时,我们像这样保存它:
Map<String, List<TaskAudit>> auditTrailMap = new HashMap<>();
auditTrailMap.put("assigned", taskAuditList);
String jsonString = new JSONObject(auditTrailMap).toString();
但是在尝试解析 jsonString 时,它就像 (assigned=[util.TaskAudit@24c7b944]}),我不知道 '=' 来自哪里以及如何解析它。
慕田峪7331174
MM们
相关分类