JSON代码转换为数组-引号和双引号

时间:2019-06-29 07:03:23

标签: php json

我有一个很大的JSON代码-2801278个字符。现在,我想在我的PHP脚本中根据此JSON代码创建一个数组,但是我不能这样做,因为我的脚本具有双引号和双引号,并且PHP返回错误。这是做同样问题的简单代码:

{"title":"Example string's with \"special\" characters"}

如您所见,当我以这种方式粘贴此代码时:

var_dump(json_decode('{"title":"Example string's with \"special\" characters"}', true));

我遇到了错误,因为'没有被转义。当我尝试将string's的更改string\'s更改时,我得到:

  

可恢复的致命错误:不能是类stdClass的对象   转换为...中的字符串

我应该如何更改此JSON代码以正确创建数组?

1 个答案:

答案 0 :(得分:0)

您可以做两件事之一。

  1. 从文件读取JSON。 (推荐)
  2. 使用Heredoc

从文件读取JSON

在具有JSON的PHP文件旁边有一个文件,并使用file_get_contents()进行读取。

<?php
  $json = file_get_contents("file.json");
  $array = json_decode($json, true);
?>

使用Heredoc

<?php
  $json = <<<EOD
{"title":"Example string's with \"special\" characters"}
EOD;
  $array = json_decode($json, true);
?>

演示:https://eval.in/1119967

以上两种方法都产生相同的输出。