php json_decode 関数を使用して、次の JSON をデコードしようとしています。
[{"total_count":17}]
出力の角括弧がそれを妨げていると思います。どうすればそれを回避できますか?Facebook FQL クエリからのものであるため、出力を制御できません。
php json_decode 関数を使用して、次の JSON をデコードしようとしています。
[{"total_count":17}]
出力の角括弧がそれを妨げていると思います。どうすればそれを回避できますか?Facebook FQL クエリからのものであるため、出力を制御できません。
PHP のjson_decodeは、デフォルトで stdClass のインスタンスを返します。
あなたにとっては、おそらく配列を扱う方が簡単です。json_decode の 2 番目のパラメーターとして、PHP に配列を返すように強制できます。
$var = json_decode('[{"total_count":17}]', true);
その後、次のように変数にアクセスできます$result[0]['total_count']
読み方の例については、この JS フィドルを参照してください。
これは基本的に PHP のコードと同じですが、2 番目の引数として true をjson_decodeに渡して、実際のオブジェクトではなく連想配列として使用することを php に伝える必要があります。
<?php
$result = json_decode('[{"total_count":17}]', true);
print $result[0]['total_count'];
?>
true を渡さない場合は、次のようにアクセスする必要があります。$result[0]->total_count
これは、配列を含む配列ではなく、オブジェクトを含む配列であるためです。
$json = "[{\"total_count\":17}]";
$arr = Jason_decode($json);
foreach ($arr as $obj) {
echo $obj->total_count . "<br>";
}
またはjson_decode($json, true)
、オブジェクトの代わりに連想配列が必要な場合に使用します。