如何在没有反斜杠的情况下正确生成 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 二进制字符串。
问题:
我得到 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 二进制字符串。