0

JSON オブジェクトから正しいデータを取得するのに苦労しています。この JSON リンクから series_id、name、units、および update を取得したくありません

サンプル JSON は次のとおりです。

{
   "request":{
      "category_id":40445,
      "command":"category"
   },
   "category":{
      "category_id":"40445",
      "parent_category_id":"40920",
      "name":"Btu",
      "notes":"",
      "childcategories":[

      ],
      "childseries":[
         {
            "series_id":"SEDS.PATCB.RI.A",
            "name":"All petroleum products total consumption, Rhode Island",
            "f":"A",
            "units":"Billion Btu",
            "updated":"22-APR-13 12.40.53 PM"
         },
         {
            "series_id":"SEDS.PATCB.TN.A",
            "name":"All petroleum products total consumption, Tennessee",
            "f":"A",
            "units":"Billion Btu",
            "updated":"22-APR-13 12.40.53 PM"
         }
      ]
   }
}

これまでの私の試みは次のとおりです。

<?php

 $API_url ='http://api.eia.gov/category/?api_key=FA92066C073D681DD8795C40F72E3B4B&category_id=40445';

 $string .= file_get_contents($API_url);// get json content
 $json_result = json_decode($string, true);//json decoder

 foreach ($json_result as $value) {

    foreach ($value as $key => $entry) {

        print_r($entry);

    }

 }

?>

配列からすべての series_id、name、units、および update を取得するにはどうすればよいですか?

4

2 に答える 2

2

これを使用するだけです:

foreach($json_result['category']['childseries'] as $value) {
     echo $value["series_id"], $value["name"], $value["units"], $value["updated"]; 
}

json 構造を見ると、 のchildseries中にあることがわかりますcategory。したがって、$json_result['category']['childseries']必要な配列にアクセスする方法です。ループするだけで、必要なデータを取得できます。

于 2013-06-08T15:16:24.740 に答える
0

$json_result['category']['childseries']スコープで必要な配列に直接アクセスしてからループできると思います

 foreach ($json_result['category']['childseries'] as $data) {
     foreach($data as $key => $val) {
        echo "$key=>$val" . "<br>";
    }
 }

これはアウトアウトします

series_id=>SEDS.PATCB.RI.A
name=>All petroleum products total consumption, Rhode Island
f=>A
units=>Billion Btu
updated=>22-APR-13 12.40.53 PM
series_id=>SEDS.PATCB.TN.A
name=>All petroleum products total consumption, Tennessee
f=>A
units=>Billion Btu
updated=>22-APR-13 12.40.53 PM
series_id=>SEDS.PATCB.NY.A 
//and so on

ライブサンプル

于 2013-06-08T15:19:19.580 に答える