PHPを使用して入れ子になったJSONアレイを介してループ -- php フィールド と arrays フィールド と json フィールド と php-curl フィールド 関連 問題

Loop through nested JSON array using PHP












1
vote

問題

日本語

私は次のようにJSON配列を持っています:

<事前> <コード> [ { "custClass": [ { "code": "50824109d3b1947c9d9390ac5caae0ef", "desc": "e1f96b98047adbc39f8baf8f4aa36f41" }, { "code": "dab6cc0ed3688f96333d91fd979c5f74", "desc": "d0e850f728b2febee79e1e7d1186c126" }, { "code": "bc4050f8f891296528ad6a292b615e86", "desc": "bee3120e77092d889c3b9e27cbee75bd" }, { "code": "f13fc8c35dfe206a641207c6054dd9a0", "desc": "32a81cb610805d9255d5f11354177414" }, { "code": "2117c346d9b3dfebf18acc8b022326d4", "desc": "88a8e85db11976082fed831c4c83838e" }, { "code": "95c0674fc0e0434f52a60afce74571d2", "desc": "39c4d4bca1578194801f44339998e382" }, { "code": "c8ad6f709612d2a91bb9f14c16798338", "desc": "6b4c4d5f4ae609742c1b6e62e16f8650" } ], "sourceData": [ { "sourceId": "ff64060a40fc629abf24eb03a863fd55", "sourceName": "92aa69979215a2bf6290c9a312c5891f" } ] }

]

このネストされたJSONアレイをループして、PHPを使用して「CustClass」リストからすべての「DESC」を取得したいです。

任意の助けが理解されるでしょう。

英語

I have a JSON array as follows:

[ {     "custClass": [         {             "code": "50824109d3b1947c9d9390ac5caae0ef",             "desc": "e1f96b98047adbc39f8baf8f4aa36f41"         },         {             "code": "dab6cc0ed3688f96333d91fd979c5f74",             "desc": "d0e850f728b2febee79e1e7d1186c126"         },         {             "code": "bc4050f8f891296528ad6a292b615e86",             "desc": "bee3120e77092d889c3b9e27cbee75bd"         },         {             "code": "f13fc8c35dfe206a641207c6054dd9a0",             "desc": "32a81cb610805d9255d5f11354177414"         },         {             "code": "2117c346d9b3dfebf18acc8b022326d4",             "desc": "88a8e85db11976082fed831c4c83838e"         },         {             "code": "95c0674fc0e0434f52a60afce74571d2",             "desc": "39c4d4bca1578194801f44339998e382"         },         {             "code": "c8ad6f709612d2a91bb9f14c16798338",             "desc": "6b4c4d5f4ae609742c1b6e62e16f8650"         }     ],     "sourceData": [         {             "sourceId": "ff64060a40fc629abf24eb03a863fd55",             "sourceName": "92aa69979215a2bf6290c9a312c5891f"         }     ] } 

]

I want to loop through this nested JSON array to retrieve all the "desc" from the "custClass" list using PHP.

Any help would be appreciated.

</div
           
 
 

回答リスト

0
 
vote
vote
ベストアンサー
 

データをデコードしてループ

<事前> <コード> $s = '[ { "custClass": [ { "code": "50824109d3b1947c9d9390ac5caae0ef", "desc": "e1f96b98047adbc39f8baf8f4aa36f41" }, { "code": "dab6cc0ed3688f96333d91fd979c5f74", "desc": "d0e850f728b2febee79e1e7d1186c126" }, { "code": "bc4050f8f891296528ad6a292b615e86", "desc": "bee3120e77092d889c3b9e27cbee75bd" }, { "code": "f13fc8c35dfe206a641207c6054dd9a0", "desc": "32a81cb610805d9255d5f11354177414" }, { "code": "2117c346d9b3dfebf18acc8b022326d4", "desc": "88a8e85db11976082fed831c4c83838e" }, { "code": "95c0674fc0e0434f52a60afce74571d2", "desc": "39c4d4bca1578194801f44339998e382" }, { "code": "c8ad6f709612d2a91bb9f14c16798338", "desc": "6b4c4d5f4ae609742c1b6e62e16f8650" } ], "sourceData": [ { "sourceId": "ff64060a40fc629abf24eb03a863fd55", "sourceName": "92aa69979215a2bf6290c9a312c5891f" } ] } ]'; $data =json_decode($s,true); foreach($data as $obj){ foreach($obj['custClass'] as $val){ echo "Desc ".$val['desc']."<br/>"; } }
 

You can decode data and loop it

     $s = '[ {     "custClass": [         {             "code": "50824109d3b1947c9d9390ac5caae0ef",             "desc": "e1f96b98047adbc39f8baf8f4aa36f41"         },         {             "code": "dab6cc0ed3688f96333d91fd979c5f74",             "desc": "d0e850f728b2febee79e1e7d1186c126"         },         {             "code": "bc4050f8f891296528ad6a292b615e86",             "desc": "bee3120e77092d889c3b9e27cbee75bd"         },         {             "code": "f13fc8c35dfe206a641207c6054dd9a0",             "desc": "32a81cb610805d9255d5f11354177414"         },         {             "code": "2117c346d9b3dfebf18acc8b022326d4",             "desc": "88a8e85db11976082fed831c4c83838e"         },         {             "code": "95c0674fc0e0434f52a60afce74571d2",             "desc": "39c4d4bca1578194801f44339998e382"         },         {             "code": "c8ad6f709612d2a91bb9f14c16798338",             "desc": "6b4c4d5f4ae609742c1b6e62e16f8650"         }     ],     "sourceData": [         {             "sourceId": "ff64060a40fc629abf24eb03a863fd55",             "sourceName": "92aa69979215a2bf6290c9a312c5891f"         }     ] } ]'; $data =json_decode($s,true); foreach($data as  $obj){     foreach($obj['custClass'] as $val){          echo "Desc ".$val['desc']."<br/>";     } } 
</div
 
 
1
 
vote

このようにして試すことができます

<事前> <コード> $json='{ "custClass": [ { "code": "50824109d3b1947c9d9390ac5caae0ef", "desc": "e1f96b98047adbc39f8baf8f4aa36f41" }, { "code": "dab6cc0ed3688f96333d91fd979c5f74", "desc": "d0e850f728b2febee79e1e7d1186c126" }, { "code": "bc4050f8f891296528ad6a292b615e86", "desc": "bee3120e77092d889c3b9e27cbee75bd" }, { "code": "f13fc8c35dfe206a641207c6054dd9a0", "desc": "32a81cb610805d9255d5f11354177414" }, { "code": "2117c346d9b3dfebf18acc8b022326d4", "desc": "88a8e85db11976082fed831c4c83838e" }, { "code": "95c0674fc0e0434f52a60afce74571d2", "desc": "39c4d4bca1578194801f44339998e382" }, { "code": "c8ad6f709612d2a91bb9f14c16798338", "desc": "6b4c4d5f4ae609742c1b6e62e16f8650" } ], "sourceData": [ { "sourceId": "ff64060a40fc629abf24eb03a863fd55", "sourceName": "92aa69979215a2bf6290c9a312c5891f" } ] }'; $decode=json_decode($json,true); $desc=[]; foreach($decode['custClass'] as $cust){ $desc[]=$cust['desc']; } var_dump($desc);
 

You can try this way

$json='{   "custClass": [     {       "code": "50824109d3b1947c9d9390ac5caae0ef",       "desc": "e1f96b98047adbc39f8baf8f4aa36f41"     },     {       "code": "dab6cc0ed3688f96333d91fd979c5f74",       "desc": "d0e850f728b2febee79e1e7d1186c126"     },     {       "code": "bc4050f8f891296528ad6a292b615e86",       "desc": "bee3120e77092d889c3b9e27cbee75bd"     },     {       "code": "f13fc8c35dfe206a641207c6054dd9a0",       "desc": "32a81cb610805d9255d5f11354177414"     },     {       "code": "2117c346d9b3dfebf18acc8b022326d4",       "desc": "88a8e85db11976082fed831c4c83838e"     },     {       "code": "95c0674fc0e0434f52a60afce74571d2",       "desc": "39c4d4bca1578194801f44339998e382"     },     {       "code": "c8ad6f709612d2a91bb9f14c16798338",       "desc": "6b4c4d5f4ae609742c1b6e62e16f8650"     }   ],   "sourceData": [     {       "sourceId": "ff64060a40fc629abf24eb03a863fd55",       "sourceName": "92aa69979215a2bf6290c9a312c5891f"     }   ] }';          $decode=json_decode($json,true);         $desc=[];          foreach($decode['custClass'] as $cust){               $desc[]=$cust['desc'];         }                 var_dump($desc); 
</div
 
 
0
 
vote

データを復号化して、foreachを使用してそれを取得してみてください:

<事前> <コード> $your_data = your_data; $decoded_data = json_decode($your_data [0], true); $final_data = []; foreach($decoded_data['custClass'] as $data) { $final_data[] = $data['desc']; } print_r($final_data);
 

Try decoding data and retrieve it using foreach:

$your_data = your_data;  $decoded_data = json_decode($your_data [0], true); $final_data = []; foreach($decoded_data['custClass'] as $data) { $final_data[] = $data['desc']; }  print_r($final_data); 
</div
 
 
0
 
vote

このコードを試してみてください

このアレイを下のようなループ

<事前> <コード> jQuery(function(){ var max = 3; var cat1_checkboxes = jQuery('input.cat1[type="checkbox"]'); var cat2_checkboxes = jQuery('input.cat2[type="checkbox"]'); var cat3_checkboxes = jQuery('input.cat3[type="checkbox"]'); cat1_checkboxes.change(function(){ var current = cat1_checkboxes.filter(':checked').length; checkboxes.filter(':not(:checked)').prop('disabled', current >= max); }); cat2_checkboxes.change(function(){ var current = cat2_checkboxes.filter(':checked').length; checkboxes.filter(':not(:checked)').prop('disabled', current >= max); }); cat3_checkboxes.change(function(){ var current = cat3_checkboxes.filter(':checked').length; checkboxes.filter(':not(:checked)').prop('disabled', current >= max); }); }); 0

<コード> jQuery(function(){ var max = 3; var cat1_checkboxes = jQuery('input.cat1[type="checkbox"]'); var cat2_checkboxes = jQuery('input.cat2[type="checkbox"]'); var cat3_checkboxes = jQuery('input.cat3[type="checkbox"]'); cat1_checkboxes.change(function(){ var current = cat1_checkboxes.filter(':checked').length; checkboxes.filter(':not(:checked)').prop('disabled', current >= max); }); cat2_checkboxes.change(function(){ var current = cat2_checkboxes.filter(':checked').length; checkboxes.filter(':not(:checked)').prop('disabled', current >= max); }); cat3_checkboxes.change(function(){ var current = cat3_checkboxes.filter(':checked').length; checkboxes.filter(':not(:checked)').prop('disabled', current >= max); }); }); 1 データ

<事前> <コード> jQuery(function(){ var max = 3; var cat1_checkboxes = jQuery('input.cat1[type="checkbox"]'); var cat2_checkboxes = jQuery('input.cat2[type="checkbox"]'); var cat3_checkboxes = jQuery('input.cat3[type="checkbox"]'); cat1_checkboxes.change(function(){ var current = cat1_checkboxes.filter(':checked').length; checkboxes.filter(':not(:checked)').prop('disabled', current >= max); }); cat2_checkboxes.change(function(){ var current = cat2_checkboxes.filter(':checked').length; checkboxes.filter(':not(:checked)').prop('disabled', current >= max); }); cat3_checkboxes.change(function(){ var current = cat3_checkboxes.filter(':checked').length; checkboxes.filter(':not(:checked)').prop('disabled', current >= max); }); }); 2
 

try this code

loop this array like below

foreach(json_decode($data) as $key=>$value){         foreach($value->custClass as $key1=>$value1){             echo $value1->desc;         }     } 

json_decode() the data

<?php $data= '[ { "custClass": [ { "code": "50824109d3b1947c9d9390ac5caae0ef", "desc": "e1f96b98047adbc39f8baf8f4aa36f41" }, { "code": "dab6cc0ed3688f96333d91fd979c5f74", "desc": "d0e850f728b2febee79e1e7d1186c126" }, { "code": "bc4050f8f891296528ad6a292b615e86", "desc": "bee3120e77092d889c3b9e27cbee75bd" }, { "code": "f13fc8c35dfe206a641207c6054dd9a0", "desc": "32a81cb610805d9255d5f11354177414" }, { "code": "2117c346d9b3dfebf18acc8b022326d4", "desc": "88a8e85db11976082fed831c4c83838e" }, { "code": "95c0674fc0e0434f52a60afce74571d2", "desc": "39c4d4bca1578194801f44339998e382" }, { "code": "c8ad6f709612d2a91bb9f14c16798338", "desc": "6b4c4d5f4ae609742c1b6e62e16f8650" } ], "sourceData": [ { "sourceId": "ff64060a40fc629abf24eb03a863fd55", "sourceName": "92aa69979215a2bf6290c9a312c5891f" } ] } ]'; foreach(json_decode($data) as $key=>$value){     foreach($value->custClass as $key1=>$value1){         echo $value1->desc;     } } ?> 
</div
 
 

関連する質問

1  PHP - バイナリボディデータによる投稿リクエスト - CURLで動作しますが、Laravelではありません  ( Php post request with binary body data works with curl but not with laravel ) 
私は画像を投稿している3番手のAPIの下にあります。 ヘッダのContent-Typeを次のように設定する必要があります。 Content-Type: image/jpeg 、本体に実際の画像のバイナリデータが含まれていることが必要です。 PHPのCURLを...

0  EventBriateバッチエンドポイント - あなたはJSON形式ではなかった要求本文を渡しました  ( Eventbrite batch endpoint you passed a request body that was not in json forma ) 
私のJSONは以下の下にあります。これは細かい(数字はダミー数です)。この文字列は、変数 $payload に割り当てられています。 <事前> <コード> [{ "method": "GET", "relative_url": "series/...

0  PHPのHTTP投稿  ( Http post in php ) 
PHPを使ってJSONペイロードを投稿しようとしていますが、それを働かせることはできません。私はシェルで動作する次のcurlコマンドと次のPythonコードも機能しますが、同じ機能のPHP実装が必要です。 シェルのカール: <事前> <コード> curl -...

6  カールは時々機能していないし、空の結果を与えます  ( Curl not working sometimes and gives empty result ) 
私はカールを使って別のウェブサイトからのデータを取得しました。時にはデータが表示され、時々空の結果 これは私のコードです <前> 関数get_data($ URL){ $ ch = curl_init(); CURL_...

-1  Laravelとの安らかなAPI  ( Restful api with laravel ) 
Laravelで安らかなAPIを開発しています。承認は<コード> SECRET_KEY &AMPを使用して行われます。 <コード> PUBLIC_KEY 以下のサンプル要求コードに示すように。 要求から<コード> Authorization ヘッダーキー値を...

-1  PHP Curl espn.comにログインします  ( Php curl login to espn com ) 
IMは、CURLを使用してログインするために、さまざまなものを見つけて、 http:/ /ww.espn.com/login/ とログイン後、プロテクトパスワード領域を取得したい http://games.espn.com/ffl/clubhouse?lea...

1  PHP-Prevent CURL_SETOPTページの実行を中止します  ( Php prevent curl setopt stop running the page ) 
私のスクリプトにSMSを送信するためのCURLを使用しています。 SMSサーバーが応答していないことがあり、スクリプトがもう実行し、ページをすぐに停止させることがあります。 これは私のコードです: <事前> <コード> Type error: Argumen...

0  PHP NTLM異なるホスト上の現在のユーザーの認証は、CURLを使用して失敗します  ( Php ntlm authentication of current user on different host fails using curl ) 
ローカルネットワーク上のサーバーの1つのサーバーでCURL 7.54.1でPHP 7.1.7を使用しています。開発要件のため、別のローカルネットワークサーバーに保存されているファイルにアクセスできるようにします(PHP 4.3またはそのようなもの)。私のシステ...

0  PHP CURLがあるWebサイトからのExcelスプレッドシートをダウンロードすると失敗しますがブラウザで動作します  ( Download excel spreadsheet from website with php curl fails but works in browser ) 
私はWebアプリケーションに取り組んでいて、データの一部は他のWebアプリケーションから更新されています会社は使用しています。 Excelシートを入手するプロセスは、XYZ.comにログインしてレポートジェネレータフォームを参照することです。どのフォームフィー...

-2  CAPTCHAイメージを表示する方法(PHP CURLを使用)  ( How can i receive captcha image using php curl ) 
下記のコードから、私は長い間試したとしても、データを取得しません。残念ながら、私がブラウザを見るとキャプチャが初めて来ます。私はページを更新しようとしましたが、空白のページが表示されます。 さらに、Security2.phpという別のページがあり、このページを...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有