gpt4 book ai didi

java - 意外字符 ('='(代码 61)): while parsing JsonString

转载 作者:行者123 更新时间:2023-11-30 02:05:54 25 4
gpt4 key购买 nike

解析 JSONString (signed=[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)): was expecting a colon to separate field name and value [junit] at [Source: {assigned=[util.TaskAudit@24c7b944]}; line: 1, column: 11]

任何人都可以提供有关如何解决此问题的任何线索吗?

编辑:基本上这个函数的输入是来自数据库的字符串字段。保存时我们这样保存:

        Map<String, List<TaskAudit>> auditTrailMap = new HashMap<>();
auditTrailMap.put("assigned", taskAuditList);
String jsonString = new JSONObject(auditTrailMap).toString();

但是在尝试解析 jsonString 时,它就像 (signed=[util.TaskAudit@24c7b944]}) 一样,我不知道“=”来自哪里以及如何解析它。

最佳答案

您的方法的问题在于您尝试以错误的方式将 Map 解析为 JSON。

您需要使用 Jackson 的 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" : "corresponding value for the key which you set in the map"
}

希望这有助于您的预期要求。

关于java - 意外字符 ('='(代码 61)): while parsing JsonString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51387626/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com