<?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_dumpNULLが返されるのか理解できません。ifまた、明らかな理由で、を削除すると、
Warning: Invalid argument supplied for foreach()
これを手伝ってください、私はこれに一日中取り組んできました、そしてそれはそれがまったくうまくいかないほどイライラしています。
注:ファイルの名前は正しいです。ファイルはファイルと同じディレクトリに.phpあり、データがinfile.jsonあり、完了すると印刷さ fwrite($fileout, $json_string); れます。
何が問題になるのでしょうか。どうすればよいですか。
編集:jsonファイルには、Facebookページのデータを含む約1000のエントリがあります。それらはすべて次の構造を持っています:
{"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)前後に
追加します。2)前に
追加
これは正しいですか?fwrite($fileout, "[");fwrite($fileout,"]");foreachfwrite($fileout,",")fwrite($fileout,PHP_EOL );