<?php
$json_string = file_get_contents('infile.json');
fwrite($fileout, $json_string);
var_dump(json_decode($json_string));
$get_json_values=json_decode($json_string,true);
if(is_array($get_json_values))
{
foreach ($get_json_values as $getlikes) { ?>
<li>
<a href="https://www.facebook.com/<?php echo $getlikes['id']; ?>" target="_top">
</li>
<?php
} }
?>
我正在尝试从json
文件中获取值,但我无法弄清楚为什么var_dump
返回 NULL。此外,如果我删除if
,出于显而易见的原因,有一个
Warning: Invalid argument supplied for foreach()
请帮我解决这个问题,我整天都在做这个,这太令人沮丧了,它无论如何都没有解决。
注意:文件名正确,文件与文件在同一目录下.php
,里面有数据,infile.json
完成后打印 。fwrite($fileout, $json_string);
会有什么问题,我该怎么办?
编辑:该json
文件有大约 1000 个包含 facebook 页面数据的条目。它们都具有以下结构:
{"category":"Musician\/band","name":"Yann Tiersen (official)","id":"18359161762","created_time":"2013-03-09T23:00:54+0000"}
var_dump($json_string)
打印文件中的数据。
如果这有任何帮助,json
可以在此处下载文件
我已经像这样组成了我的json:
function idx(array $array, $key, $default = null) {
return array_key_exists($key, $array) ? $array[$key] : $default;
}
$likes = idx($facebook->api('/me/likes'), 'data', array());
foreach ($likes as $like) {
fwrite($fileout,json_encode($like));
fwrite($fileout,PHP_EOL );
?>`
所以,我应该改变的是:
1)添加fwrite($fileout, "[");
before 和fwrite($fileout,"]");
after foreach
。
2)添加fwrite($fileout,",")
之前fwrite($fileout,PHP_EOL );
是这样吗?