PHP を使用して JSON ファイルを解析しようとしました。しかし、行き詰まってしまいました。
これは私の JSON ファイルの内容です:
{
"John": {
"status":"Wait"
},
"Jennifer": {
"status":"Active"
},
"James": {
"status":"Active",
"age":56,
"count":10,
"progress":0.0029857,
"bad":0
}
}
これまで私が試したことは次のとおりです。
<?php
$string = file_get_contents("/home/michael/test.json");
$json_a = json_decode($string, true);
echo $json_a['John'][status];
echo $json_a['Jennifer'][status];
'John'
しかし、名前 ( 、など'Jennifer'
) と使用可能なすべてのキーと値 (、など'age'
)が事前にわからないため'count'
、 foreach ループを作成する必要があると思います。
これについて例を挙げていただければ幸いです。
ベストアンサー1
多次元配列を反復処理するには、次のようにします。再帰配列イテレータ
$jsonIterator = new RecursiveIteratorIterator(
new RecursiveArrayIterator(json_decode($json, TRUE)),
RecursiveIteratorIterator::SELF_FIRST);
foreach ($jsonIterator as $key => $val) {
if(is_array($val)) {
echo "$key:\n";
} else {
echo "$key => $val\n";
}
}
出力:
John:
status => Wait
Jennifer:
status => Active
James:
status => Active
age => 56
count => 10
progress => 0.0029857
bad => 0