转义特殊字符Java JSON

时间:2014-08-02 21:17:30

标签: java json

您好我正在尝试将JSON对象发送到服务器。 JSON对象是:

JSONObject j = new JSONObject("{'Hobbies':" + h + "}");

{"Hobbies" : "Programming & Gaming"}

但是,当我通过HTTP发送此对象时,它在字符22处给出了错误的未终止对象。经过大量研究,我发现了'&'拆分对象。无论如何,我可以逃脱'&'。我试过了' \&'但它不起作用,因为没有像那样的转义序列。

1 个答案:

答案 0 :(得分:1)

转到json.org并仔细研究语法 。 JSON中的键或字符串值必须用双引号括起来。您的代码正在生成

{'Hobbies' : Programming & Gaming}

要按照你的方式去做,你需要逃避双引号:

new JSONObject("{\"Hobbies\":\"" + h + "\"}");

但是,用单独的键和值构造JSONObject会好得多。我不确定您使用的是哪种特定的Java JSON包,但对于大多数情况而言,这只是简单的:

new JSONObject("Hobbies", h);