这里我从不同的文件中读取json值并将其转换为数组:
include ('jsonp.php');
$json = str_replace(array("\r", "\n"), array('\r','\n'), $json);
$arr = json_decode($json, TRUE);
foreach ($arr as $r)
{
echo $r['post_content']."<br/>"
echo $r['name']."<br/>";
echo $r['taxonomy']."<br/><br/>";
}
以上代码为此部分内容提供了所有需要转换的值:
json.php
是:
https://gist.github.com/karimkhanp/c1b87d3496780b80cd32
但实际大内容的同一文件:
https://gist.github.com/karimkhanp/3d17f57a342d5fe3fc1c
给出了阅读错误。
它给出了:
arning: Invalid argument supplied for foreach()
在上面的代码中。
有什么问题?
答案 0 :(得分:0)
造成这个问题的原因是新行。您可以通过jsonlint.com
检查有效性。在将它们加载到json_decode()
之前先处理它们。
示例:
$json = preg_replace('!\s+!', ' ', $json); // group of new lines to just space
$arr = json_decode($json, true);
foreach($arr as $r) {
echo $r['post_content'] . '<br/>';
echo $r['name'] . '<br/>';
echo $r['taxonomy'] . '<br/><hr/>';
}