2017-09-20 29 views
0

私はいくつかのJSONデータからデータを取得しようとしています。私は今JSON配列データの解析

$json_array = (array)(json_decode($response));

私はJSONデコードのアレイを印刷するとき、それを復号化するために以下の行を使用しています、私は下に次のデータを持っている: を私は詳細セクションから詳細を取得したいと思いますfrom/to_dateとup/down番号の複数のセットがあります。私はそのデータに私を得るために働くように見えるものはありません。私は使用法のような他の領域からのデータを印刷することができますが、詳細に入ることはできません。

Array ( 
    [resp_code] => SUCCESS 
    [caller_ref] => 2017092002282130006180 
    [server_ref] => 2017092002282169760291 
    [data] => stdClass Object ( 
     [type] => monthly 
     [group_id] => 19 
     [device_id] => 32 
     [sn] => sn1234 
     [usages] => Array ( 
      [0] => stdClass Object (
       [from_date] => 2017-09-01T00:00:00 
       [to_date] => 2017-09-30T23:59:59 
       [up] => 22370 
       [down] => 119217 
       [ts] => 2017-09-01T00:00:00 
      ) 
     ) 
     [details] => stdClass Object (
      [3] => Array ( 
       [0] => stdClass Object (
        [from_date] => 2017-09-01T00:00:00 
        [to_date] => 2017-09-30T23:59:59 
        [up] => 5522 
        [down] => 40301 
        [ts] => 2017-09-01T00:00:00 
       ) 
      ) 
      [2] => Array ( 
       [0] => stdClass Object ( 
        [from_date] => 2017-09-01T00:00:00 
        [to_date] => 2017-09-30T23:59:59 
        [up] => 6905 
        [down] => 32029 
        [ts] => 2017-09-01T00:00:00 
       ) 
      ) 
     ) 
    ) 
) 
+0

をあなたは私の実際のJSON文字列を提供することはできますか? –

+0

@JustinFエディターを覚えるのに5分かかりますが、「
」を追加するのはあなたのやり方ではありません。 –

答えて

1

何がオブジェクトに間違っていますか?

$obj = json_decode($response); 

echo $obj->data->details[0]->from_date; 

またはループには:

foreach ($obj->data->details as $item) { 
    echo $item->from_date; 
    // same goes for: to_date, up etc. 
} 

シンプルでセクシー!

更新:あなたが問題を抱えているので、もし$itemは、同様の配列になるかのよう に見えてみてください:

foreach ($obj->data->details as $item) { 
    echo $item[0]->from_date; 
    // same goes for: to_date, up etc. 
}