0

我是 JSON 新手,所以在解析它时遇到了一些麻烦。

我制作了一个 JSON 文件:

新的json.json

{
    "title":"My Title",
    "contents":"My\
                Multiline\
                Contents"
}

我曾经\避免在 JavaScript 语法中出现不允许多行字符串的错误,但是当我file_get_contents()使用 PHP 加载它并使用它解码时json_decode(),它无法解析它。

我认为在将字符串放入解码函数之前,我应该\用 , 或其他东西处理 s 。preg_replace

我应该怎么办?

4

2 回答 2

5

PHP 无法解析您的字符串,因为它不是有效的 JSON。唯一有效的转义序列是:

  • \"引号
  • \\对于反斜杠
  • \/对于正斜杠
  • \b退格
  • \f对于换页
  • \n换行
  • \r回车
  • \t对于标签
  • \uxxxx十六进制转义

如果您想要文字换行符,请使用换行符转义。否则,您将不得不使用不太漂亮的字符串。

{
    "title":"My Title",
    "contents":"My\nMultiline\nContents"
}
于 2012-07-06T05:11:53.527 回答
1

您的 in json 语法一定有问题,这就是它无法解析它的原因...

试试你的http://json.parser.online.fr/

在那里复制你的整个 json 字符串并尝试对其进行操作......你可能会在那里发现你的错误

于 2012-07-06T05:17:56.613 回答