<?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
ファイルには、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,"]");
foreach
fwrite($fileout,",")
fwrite($fileout,PHP_EOL );