2 回答
![?](http://img1.sycdn.imooc.com/545847aa0001063202200220-100-100.jpg)
TA贡献1828条经验 获得超13个赞
您的方法的问题是“您试图以错误的方式将 MAP 解析为 JSON。”
您需要在那里使用 ObjectMapper 将您的 MAP 解析为 JSON 字符串。完成此操作后,您应该能够根据 Map 中存在的 KEY 和 VALUE 获得预期的正确 JSON 字符串。
Map<String, List<TaskAudit>> auditTrailMap = new HashMap<>();
auditTrailMap.put("assigned", taskAuditList);
String jsonString = new ObjectMapper().writeValueAsString(auditTrailMap);
执行此操作后,您将获得正确的 JSON: { "assigned" : "您在地图中设置的键的对应值" }
希望这有助于您的预期要求。
![?](http://img1.sycdn.imooc.com/545869470001a00302200220-100-100.jpg)
TA贡献1886条经验 获得超2个赞
任何人都可以提供有关如何解决该问题的任何线索。
你已经有了
{assigned=[util.TaskAudit@24c7b944]}
不是有效的 JSON 字符串。
toString()Map 的方法不需要返回您的 JSON 表示,因此您必须自己将其序列化为 JSON,就像在这个答案中一样:
Map<String,String> payload = new HashMap<>();
payload.put("key1","value1");
payload.put("key2","value2");
// right way to convert map to JSON:
String json = new ObjectMapper().writeValueAsString(payload);
根据您的需要调整上面的代码,可能会重用ObjectMapper实例。
在适应新技术之前先阅读文档和示例,它会在未来为您节省大量时间,因为它们通常会突出人们使用库的最常见案例。
添加回答
举报