2 回答

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" : "您在地圖中設置的鍵的對應值" }
希望這有助于您的預期要求。

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實例。
在適應新技術之前先閱讀文檔和示例,它會在未來為您節省大量時間,因為它們通常會突出人們使用庫的最常見案例。
添加回答
舉報