Java JSON/Destinon以/(斜杠)开头的字符串格式错误
我想要这个JSON:Java JSON/Destinon以/(斜杠)开头的字符串格式错误,java,json,Java,Json,我想要这个JSON: {"lala":{"any":1,"/doc/h2":1}} 但使用Jetisson()时,如下面的示例所示: JSONObject extractJson = new JSONObject(); int i = 1; extractJson.put("lala", new JSONObject() .put("any",1) .put("/doc/h" + (i+1), 1) # HERE! ); System.ou
{"lala":{"any":1,"/doc/h2":1}}
但使用Jetisson()时,如下面的示例所示:
JSONObject extractJson = new JSONObject();
int i = 1;
extractJson.put("lala", new JSONObject()
.put("any",1)
.put("/doc/h" + (i+1), 1) # HERE!
);
System.out.println(extractJson.toString());
退回这个:
{"lala":{"any":1,"\/doc\/h2":1}}
在任何“/”前面加上一个“\”
我的问题是:为什么?如何生成正确的json
有什么想法吗?看起来您的库(抛弃)转义默认被删除。这对于json是可以的,任何解析器在解析时都应该能够再次取消转义 显然,根据它的说法,这是因为HTML,特别是脚本标记 如果你真的不想让它们出现,你有几个选择:
- 查看您的库文档,了解如何在默认情况下不转义
- 更改库
JsonObject jsonObj = new JsonObject();
jsonObj.addProperty("field1", 5);
jsonObj.addProperty("/doc/h2", 1);
System.out.println(jsonObj.toString());