PHP の json_decode() 関数を使用すると、これを満たす必要があります。最初の呼び出しでは、2 番目のパラメーターとして TRUE を渡すため、関数は連想配列を返します。PHP マニュアル ページは、この違いを示しています。
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
var_dump(json_decode($json));
var_dump(json_decode($json, true));
var_dump へのこれら 2 つの呼び出しは、以下を出力します。
object(stdClass)#1 (5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
array(5) {
["a"] => int(1)
["b"] => int(2)
["c"] => int(3)
["d"] => int(4)
["e"] => int(5)
}
これらのいずれの場合でも、個々の要素にアクセスできます。
$json = '{"url":"stackoverflow.com","rating":"useful"}';
$jsonAsObject = json_decode($json);
$jsonAsArray = json_decode($json, TRUE);
echo $jsonAsObject->url . " is " . $jsonAsArray['rating'];
これは出力されます:
stackoverflow.com is useful