Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.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数据_Java_Getjson_Json - Fatal编程技术网

Java 读取包含花括号、方括号等特殊符号的Json数据

Java 读取包含花括号、方括号等特殊符号的Json数据,java,getjson,json,Java,Getjson,Json,我将json数据保存为数据库中的字符串。JSON数据的结构很好,因为它包含正则表达式,甚至包含curry大括号{}或方括号[]等的URL。我可以用可用的编码替换一些特殊符号,例如十六进制或十进制编码。然后进行字符串操作来处理这些。我只是想知道有没有其他方法来处理这种情况。对于包含此类Json数据的字符串,我得到了以下异常 org.json.JSONException: Expected a ',' or '}' at character 22891 of {"wires":[{"id"...

我将json数据保存为数据库中的字符串。JSON数据的结构很好,因为它包含正则表达式,甚至包含curry大括号{}或方括号[]等的URL。我可以用可用的编码替换一些特殊符号,例如十六进制或十进制编码。然后进行字符串操作来处理这些。我只是想知道有没有其他方法来处理这种情况。对于包含此类Json数据的字符串,我得到了以下异常

  org.json.JSONException: Expected a ',' or '}' at character 22891 of {"wires":[{"id"....so on

如果我需要详细说明,请告诉我。

我想到的第一件事是:
在将内容放入数据库时,请尝试php addslashes/stripslashes(假设您使用php与数据库联系)。

实际上我使用的是java。我有8000行这样的数据。其中一些行将包含此类数据。还有其他建议吗?哦,对不起,没有仔细阅读你的第一篇文章。在java中,它通常通过使用PreparedStatement来实现,PreparedStatement将自动转义字符串。谷歌吧!谢谢你的建议。你能详细说明一下吗。我应该在插入数据或从数据库获取数据时使用PreparedStatement,还是在这两种情况下都使用PreparedStatement。我在网上看到的似乎PreparedStatements对性能更有用,很少有地方可以转义“但我有{}、[]甚至“.”的数据。我尝试了PreparedStatement来访问数据库。但我还是得到了同样的例外。我试图解析上面的字符串,但它也显示了包含这样的值的地方的错误。问题似乎是缺少转义。如果正确使用转义,则可以添加{}。[]、“”或任何其他字符添加到数据库中,并在不做任何更改的情况下检索原始值。在测试它时,最重要的是记录您添加到DB的内容和您得到的内容,并检查它们是否相同(否则JSON.parse将失败)。我做了一些阅读,实际上,prepared语句的转义方式取决于您的数据库(参数在替换为语句之前发送到db)-检查它的配置。如果所有这些都失败了,您总是可以手动转义(替换/使用//等)。