<?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()
var_dump返回null,不知道爲什麼
請幫我這個,我一直工作在這整整一天,它只是如此令人沮喪,它不工作了以任何方式。
注:該文件的名稱是正確的,該文件是與.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
文件可以下載here
我已經作出了我的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)在foreach
之後加fwrite($fileout, "[");
,fwrite($fileout,"]");
。
2)在fwrite($fileout,PHP_EOL);
之前加 這是正確的嗎?
請顯示'infile.json'的內容 – AlienWebguy 2013-03-11 20:42:13
'var_dump($ json_string);'並粘貼結果。 「如果json無法解碼,或者編碼數據比遞歸限制更深,則返回NULL。」 – mkaatman 2013-03-11 20:42:17
您確定錯誤檢查和顯示已打開嗎? – 2013-03-11 20:42:45