gpt4 book ai didi

java - 在 JSONObject 中填充引号

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:17:44 29 4
gpt4 key购买 nike

我正在构建一个 JSON 字符串以发送到我的网络服务。由于其中一个 fragment 是用户输入的,因此有可能使用双引号。我正在尝试通过转义来解决问题。

String strValue = "height of 6\"";
JSONObject json = new JSONObject();
json.put("key", strValue.replaceAll("\"","\\\""));

这里的问题是当我执行 json.toString() 时,我得到了 3 个斜杠。

例如:

{"key","height of 6\\\""}

如果我不尝试进行任何替换,json.toString() 会给我损坏的 json。

例如:

{"key", "height of 6""}

我怎样才能正确地做到这一点?

注意:当我的网站保存这个值并显示时,显示的是height of 6\"

更新:

看来罪魁祸首是 json.toString()

当我调用 replaceAll 方法时,它——正确地——只转义了双引号。 json.toString() 似乎转义了斜线。要解决此问题,我必须执行 json.toString().replace("\\\\", "")。这就引出了一个问题:到底为什么 JSONObject 会转义斜线而不是双引号?????

最佳答案

看来罪魁祸首是 json.toString()

当我调用 replaceAll 方法时,它——正确地——只转义了双引号。 json.toString() 似乎转义了斜线。要解决此问题,我必须执行 json.toString().replace("\\\\", "")

这引出了一个问题:到底为什么 JSONObject 转义斜杠而不转义双引号?????

关于java - 在 JSONObject 中填充引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13420115/

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