私は最後の24時間頭を叩いてしまいました。テストと読んだら、これを理解することはできません。私は解析する必要があるJSONファイルを持っています。何らかの理由で、「配列」または「非オブジェクトのプロパティを取得しようとしています」または「無効な引数がforeach )」。ここでは、私が反復しようとしている完全なJSONです。各プロジェクトの名前、各プロジェクトの「データセット」、各「データセット」の「アクセス許可」を印刷する必要があります。このJSONを自分で作成していますので、必要に応じて書式を変更できます。PHPを使ったJSONの解析とエコー
$data = json_decode($json, true);
出力JSON以下:
[
[
{
"projects":[
{
"project":"test-project-1",
"datasets":[
{
"dataset":"testing1",
"permissions":[
{
"role":"READER",
"google_group":"[email protected]"
}
]
},
{
"dataset":"testing2",
"permissions":[
{
"role":"OWNER",
"google_group":"[email protected]"
}
]
},
{
"dataset":"testing3",
"permissions":[
{
"role":"READER",
"google_group":"[email protected]"
}
]
},
{
"dataset":"testing4",
"permissions":[
{
"role":"WRITER",
"google_group":"[email protected]"
}
]
}
]
},
{
"project":"test-project-2",
"datasets":[
{
"dataset":"testing1",
"permissions":[
{
"role":"READER",
"google_group":"[email protected]"
}
]
},
{
"dataset":"testing2",
"permissions":[
{
"role":"READER",
"google_group":"[email protected]"
}
]
},
{
"dataset":"testing3",
"permissions":[
{
"role":"READER",
"google_group":"[email protected]"
}
]
},
{
"dataset":"testing4",
"permissions":[
{
"role":"READER",
"google_group":"[email protected]"
}
]
}
]
}
]
}
]
]
私はのようなものを試してみました:
foreach($data->projects as $output)
{
echo $output->project . "\n";
foreach($output->datasets as $datasets)
{
echo $output->dataset . "\n";
}
}
は助けてくれてありがとう!
EDIT:ワーキングコードの上にJSONをパース:
$projects = $json['projects'];
foreach ($projects as $project) {
echo $project['project'] . "<br>";
foreach ($json['projects'][0]['datasets'] as $datasets){
echo $datasets['dataset'] . "<br>";
foreach ($json['projects'][0]['datasets'][0]['permissions'] as $permissions){
echo $permissions['role'] . "<br>";
echo $permissions['google_group'] . "<br>";
}
}
}
'のvar_dump($出力 - >データセット);' – mkaatman