我是JSON的新手,所以在解析它时遇到了一些麻烦。
我做了一个JSON文件:
newjson.json
{ "title":"My Title", "contents":"My' Multiline' Contents" }
我使用 '
来避免 JavaScript 语法中不允许多行字符串的错误,但是当我用 file_get_contents()
加载它并使用 PHP 中的json_decode()
解码它时,它无法解析它。
我想我应该用 preg_replace
来处理 '
s,或者在我将字符串放入解码函数之前的其他东西。
我该怎么办?
PHP 无法解析您的字符串,因为它不是有效的 JSON。唯一有效的转义序列是:
- 引号
'"
- 反斜杠的
''
- 正斜杠的
'/
- 退格
'b
- 表单馈送的
'f
- 换行符的
'n
- 回车
'r
- 选项卡的
't
- 十六进制转义的
'uxxxx
,请改用换行符转义。否则,你将不得不忍受一个不太漂亮的字符串。
{
"title":"My Title",
"contents":"My'nMultiline'nContents"
}
你的 JSON 语法一定有问题,这就是为什么它无法解析它......
试试你的 http://json.parser.online.fr/
将整个 JSON 字符串复制到那里并尝试操纵它......你可能会在那里找到你的错误