有一个文本(来自数据库)需要转成 json。例子
$text = '[{"val":"4"}]';
$f = json_decode($text);
一切都解决了,但是如果其中有反斜杠,\那么一切都会中断。例子
$text = '[{"val":"4\4"}]';
$f = json_decode($text);
在stripslashes函数中找到了出路
但这并不是特别合适,因为。她删除\。例子
有没有其他的保存方法\?
有一个文本(来自数据库)需要转成 json。例子
$text = '[{"val":"4"}]';
$f = json_decode($text);
一切都解决了,但是如果其中有反斜杠,\那么一切都会中断。例子
$text = '[{"val":"4\4"}]';
$f = json_decode($text);
在stripslashes函数中找到了出路
但这并不是特别合适,因为。她删除\。例子
有没有其他的保存方法\?
您的 JSON 编码不正确(或传递错误)。
根据 JSON 规范,字符串中的字符
\后面不能跟数字 4。之后\,只有:"- 报价,只是转义报价\- 反斜杠 - 为自己转义以唯一识别字符串中具有特殊含义的字符序列/- 直的b- 象征backspacen- 字符line feed(换行)r- 字符carriage return(回车)t- 制表符u后跟 4 个 HEX 字符,表示对应的 Unicode 字符(但是可以用这种表示法替换上述字符)是的,
\4这是一个不正确的条目。我测试的 PHP 解析器和 PostgreSQL 解析器都不接受这样的 JSON。JS 解析器正在尝试处理它
firefox,但我不确定是什么规则。JSON 本身不会因此而变得正确。正确的条目应该是:
你最好去你的 JSON 的源头询问它为什么格式不正确,而不是试图解决后果。
JSON 特殊字符