【发布时间】:2019-04-22 04:53:13
【问题描述】:
我将以下 JSON 作为字符串输入到我的代码中。由于字符串的格式不统一,克服转义字符和引号分组以读取字符串并将其转换为 Java 对象和子对象遇到了问题
{"payload":{"details":"{\"source\":\"incor\",\"type\":\"build\",\"created\":\"1553855543108\",\"organization\":null,\"project\":null,\"application\":null,\"_content_id\":null,\"attributes\":null,\"requestHeaders\":{}}","content":"{\"project\":{\"name\":\"spinner\",\"lastBuild\":{\"building\":false,\"number\":0}},\"master\":\"IncorHealthCheck\"}","rawContent":null,"eventId":"bb357b79-069b-426d-8d21-8d04b06f5009"},"eventName":"city_spinner_events"}
到目前为止,我已经尝试使用 GSON,Jackson 来尝试读取字符串并转换为对象和子对象。但是,我只能客观化顶级对象。由于转义字符和解析器对引号分组的误读,我需要创建子对象时遇到问题。它会引发错误和异常。
预期的 JSON 如下,可以转换为对象:
{"payload":{"details":{"source":"incor","type":"build","created":"1553855543108","organization":null,"project":null,"application":null,"_content_id":null,"attributes":null,"requestHeaders":{}},"content":{"project":{"name":"spinner","lastBuild":{"building":false,"number":0}},"master":"IncorHealthCheck"},"rawContent":null,"eventId":"bb357b79-069b-426d-8d21-8d04b06f5009"},"eventName":"city_spinner_events"}
【问题讨论】: