繁体   English   中英

如何在双引号之前避免java JSONObject中的反斜杠?

[英]How to avoid backslash in java JSONObject before double quotes?

我使用 java 类创建了一些 JSONObject。 让我们称之为 MyJSONObject。 它应该是另一个 JSON 对象的内部 String 部分。 像那样:

[
    {
        "httpRequest": {...},
        "httpResponse": {
            "headers": {
                "content-type": [
                    "application/json"
                ]
            },
            "body": "MyJSONObject"
        }
]

问题是当我尝试使用 mapper.writeValueAsString(MyJSONObject) 将其作为字符串时,我在控制台正文中收到所有带反斜杠的引号:

[
    {
        "httpRequest": {...},
        "httpResponse": {
            "headers": {...},
            "body": "{\"key\":\"value\",\"key\":\"value\"}"
        }
]

而不是预期:

        "body": "{"key":"value","key":"value"}"

我试图用反斜杠用引号替换每个引号,使用方法replace("\\"", "\\\\\\"")到我的字符串,但结果更糟:

        "body": "{\\\"key\\\":\\\"value\\\",\\\"key":\\\"value\\\"}"

我怎样才能把我的字符串避免这个反斜杠?

您可以尝试使用以下方法,这会给您带来预期的结果。

JSONObject subJson = new JSONObject(); subJson.put(“name”, “java”);

JSONObject parentJson = new JSONObject() parentJson.put(“company”, ”stack”); parentJson.put(“employees”, subJson);

System.out.print(“Final output - ” + parentJson.toString());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM