Java / JSON.simple - 在斜杠前打印反斜杠

我正在通过 Java 和 JSON.simple 库将一些数据打印到一个 json 文件中,但是只要有一个斜杠,我就会添加一个反斜杠,如下所示:


"thing":[

     {"file":"Screenshot_from_2018-07-12_14-41-19.png",

      "currentDateTime":"02\/08\/2018 15:11:14",

      "selectedDate":"02\/08\/2018",

      "uri":"\/var\/stuff\/files\/Screenshot_from_2018-07-12_14-41-19.png",

      "user":"user"}

 ]

它发生在我们将地图传递给 JSONObject 的那一刻:


        map.put("file", fileNameFormat);

        map.put("uri", filesPath + "/" + service + "/" + fileNameFormat);

        map.put("user", user);

        map.put("selectedDate", selectedDate);

        map.put("currentDateTime", currentDateTime);

        JSONObject json = new JSONObject(map); //HERE

我认为当我进一步开发该实用程序时,这将是一个问题。为什么会发生这种情况,我该如何绕过它?提前致谢。


幕布斯6054654
浏览 178回答 3
3回答

料青山看我应如是

这样做是为了允许脚本标签内的 json 字符串,正如这个问题所解释的:在 javascript 方面,它将按预期读取。'\/' === '/'在 JavaScript 中,JSON 是有效的 JavaScript。要处理 Java 中的所有内容,可以使用 Gson。请检查链接以使用 Gson 将 Json 转换为对象:Json to Java objects

守候你守候我

JSON.simple 遵循JSON 规范 RFC4627。斜线和其他各种控制序列都应转义。这不会以任何方式限制您的应用程序,因为 JavaScript 会将其识别为简单的“/”。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java