Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSON/Destinon以/(斜杠)开头的字符串格式错误_Java_Json - Fatal编程技术网

Java JSON/Destinon以/(斜杠)开头的字符串格式错误

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

我想要这个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.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());