如何在没有反斜杠的情况下正确生成 Json

How to correctly generate Json without Backslashes

问题:

我得到 json 带有反斜杠作为 GET 请求的响应

@RequestMapping(value = "repuve/recibe_captcha", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE)

像这样:

{"mensaje":"Proceso ejecutado correctamente.","folio":"1652989601959","resultado":"{\"idSalida\":1,\"descSalida\":\"Proceso Correcto\",\"data\":[.....]}"}

预期的结果是这样的:

{"mensaje":"Proceso ejecutado correctamente.","folio":"1652989601959","resultado":"{"idSalida":1,"descSalida":"Proceso Correcto","data":[.....]}"}

(数据数组有一个b64图像)。

这就是 json 的创建方式:

JSONObject object = new JSONObject();
JSONArray jArray = new JSONArray();
object.put("idSalida", 1);
object.put("descSalida", "Proceso Correcto");
jArray.put(captcha);
object.put("data", jArray);

我已经使用 replace() 尝试了 Whosebug 的一些答案,但其中 none 似乎对我有用。

是否有另一种方法可以删除反斜杠并获得正确的 json 格式传送到前面?

谢谢。

任何 JSON 生成框架实际上应该转义嵌套引号。如果您希望字符串看起来有所不同,您将编写代码以您想要的方式组装 JSON 二进制字符串。