私はこれに対する解決策として高く評価されていますが、これまでのところ私が取り組んでいるものは何も見つかりませんでした。私は、特定のフィールドを抽出することが困難な方法で入れ子になっているJSON応答を解析するためにPHPを使用しています。ここでPHPで入れ子になったJSONをパースする
は、JSONのビットは次のとおりです。ここで
{
"collection":{
"items":[
{
"href":"https://api.teamsnap.com/v3/members/MEMBERID",
"data":[
"name":"id",
"value": 0000000 // MEMBERID
},
{
"name":"type",
"value":"member"
},
{
"name":"address_city",
"value":""
},
{
"name":"address_state",
"value":""
},
は私のPHPです:
$json = file_get_contents($url, false, $context);
$result = json_decode($json);
foreach ($result->collection->items as $items=>$val) {
foreach ($val->data as $data=>$datasets) {
foreach ($datasets as $dataset=>$val) {
echo $dataset.': '.$val;
echo "<br>";
}
}
};
、これは電流出力のビットです:
name: id
value: MEMBERID
name: first_name
value: MEMBERNAME
name: last_name
value: MEMBERNAME
何Iこのレスポンスに含まれるすべてのメンバーを姓名でリストすることができます。私は$ val-> first_name、$ val ['first_name'];を使って試しました。そのようなすべてがforeachエラーになります。
投稿したJSON構造が無効です。 MEMBERID値の下で中括弧で囲まれた四角い中括弧で開かれた配列を閉じることはできません。 – arkascha
これは単なるサンプルであり、セキュリティを保護するために実際のメンバーIDを変更しました。私は上記のコードでjsonを更新しました – RiotAct
確かにそれは単なる例です。しかしそれでも無効です。データの構造が無効であるため、コードを修正する手助けができないため、不明です。 – arkascha