我像这样使用java生成的json:
[{"nickname":"abc,def"},{"nickname":"abc'def"},{"nickname":"abc"def"}]
当我执行时eval()
,它会引发异常。
我想在 json 中保留逗号和引号。
如何处理这种情况?
我像这样使用java生成的json:
[{"nickname":"abc,def"},{"nickname":"abc'def"},{"nickname":"abc"def"}]
当我执行时eval()
,它会引发异常。
我想在 json 中保留逗号和引号。
如何处理这种情况?
你有一个例外,因为你的 json 无效!你是如何产生它的?无论您使用何种语言,构建您的数据结构并调用一个 json 编码函数(例如 PHP 中的 json_encode)来生成有效的 json。
在此特定示例中,您需要转义最后一个字符串中的双引号:
[{"nickname":"abc,def"},{"nickname":"abc'def"},{"nickname":"abc\"def"}]
注意:使用 eval 不安全,需要使用 JSON.parse()!
您需要通过解析 JSON 来处理这种情况。
eval()
不解析 JSON。您需要调用JSON.parse()
,它会解析 JSON 并且可以正常工作。
解决方案的另一部分是生成有效的 JSON。
"abc"def"
不是有效的 JSON。
您需要更改 Java 代码以使用将生成有效 JSON 的实际 JSON 库(例如 gson 或 jackson)。