次のような JSON オブジェクトがあります。
$data = [{"articles": {"ID": 5, "NAME": "BIKE"},{"ID": 6, "NAME": "CAR"}}
したがって、クライアントからどのような情報が送られてくるのかを知る必要があります。この場合は「記事」です。PHPでこのJSONオブジェクトの最初のレベルを確認するにはどうすればよいですか?
詳細を知るには、以下のコメント行をお読みください
<?php
//$data = '[{"articles": {"ID": 5, "NAME": "BIKE"},{"ID": 6, "NAME": "CAR"}}';
//Your json data should be like this
$data = '{"articles": [{"ID": 5, "NAME": "BIKE"},{"ID": 6, "NAME": "CAR"}]}';
$data_decoded = json_decode($data);
foreach($data_decoded as $key=>$value) {
//first level of json object as many as its items
echo $key;
//var_dump($key,$value);
}
?>
$data = json_decode('
{
"articles": [
{"ID": 5, "NAME": "BIKE"},
{"ID": 6, "NAME": "CAR"}
]
}');
$keys = array_keys((array)$data);
echo $keys[0]; //displays: articles
これが有効なjsonとしてのデータです(コードは無効です)。$data
これは配列として型キャストされているためarray_keys()
、オブジェクトの受け渡しについて文句を言うことはありません。
これを使用$json = json_decode($data, true);
すると、json文字列が連想配列に変換されるため、他の配列と同様に使用できます
このページを見てくださいhttp://php.net/manual/en/function.json-decode.php