您好我正在尝试将JSON对象发送到服务器。 JSON对象是:
JSONObject j = new JSONObject("{'Hobbies':" + h + "}");
{"Hobbies" : "Programming & Gaming"}
但是,当我通过HTTP发送此对象时,它在字符22处给出了错误的未终止对象。经过大量研究,我发现了'&'拆分对象。无论如何,我可以逃脱'&'。我试过了' \&'但它不起作用,因为没有像那样的转义序列。
答案 0 :(得分:1)
转到json.org并仔细研究语法 。 JSON中的键或字符串值必须用双引号括起来。您的代码正在生成
{'Hobbies' : Programming & Gaming}
要按照你的方式去做,你需要逃避双引号:
new JSONObject("{\"Hobbies\":\"" + h + "\"}");
但是,用单独的键和值构造JSONObject会好得多。我不确定您使用的是哪种特定的Java JSON包,但对于大多数情况而言,这只是简单的:
new JSONObject("Hobbies", h);