2017-08-16 23 views
-5

私はStackOverflowのすべての質問をPHPでJSONを解析する方法について読んだことがありますが、私は持っているJSONで作業していません。PHPでJSONオブジェクトを解析する

アレイ(2){[ "ステータス"] => BOOL(真) "通貨"] =>アレイ(30){[0] => アレイ(10){[ "通貨"] "1.4925" ["change"] =>文字列(7) "-0.0076" ["change_percent"] => 文字列(7) "EUR/AUD" ["value"] =>文字列(6) "1.4873""1.4923" ["daily_lowest"] =>文字列(6) "-0.50663" ["date_highest"] => ["type"] =>文字列(8) "01516" "value"] => string(5) "1.494" ["change"]文字列(7) "" => string(7) "-0.0032" ["change_percen "" bid "] =>文字列(6)" 1.4939 " [" daily_lowest "] =>文字列(8)" -0.21373 " [" ask "] => "date"] =>文字列(19) "2017-08-16 09:46:11" ["type"]文字列(5) "1.489" ["daily_highest"] =>文字列(6) "1.4986" => 文字列(8) "オリジナル"} [2] =>配列(10){["通貨"] =>文字列(7) "EUR/CHF" ["value"] =>文字列(6) " "1.1435" ["change"] =>文字列(6) "0.0024" ["change_percent"] =>文字列(7) "0.21034" ["ask" "daily_highest"] =>文字列(6) "1.1444" ["日付"] =>文字列(19) ">"文字列(6) ">"文字列(6) "1.1434" ["daily_lowest"] =>文字列(6) "1.1402" "[" currency "] => string(7); " ["type"] => string(8) "オリジナル"} [3] => array(10) "EUR/GBP" ["value"] =>文字列( (8) "-0.20838" ["ask"] => string(4) "0.91" "09019" "" 09019 "09019" 09019 "" 09019 "09019" "change_percent"] => string(6) "0.9144" ["date"] "[" bid "] => string(6) " 0.9099 "[" daily_lowest "] => string(6)" 0.9083 "[" daily_highest "] => => string(19) "2017-08-16 09:46:11" ["type"] =>文字列(8) "オリジナル"} [4] =>配列(10){["currency"] = > 文字列(7) "EUR/ILS" ["type"] =>文字列(9) "変換" ["日付"] => 文字列(19) "2017-08-16 09:46:11" [[ "value"] => string(7) "4.24323" ["change"] => string(3) "0.0" ["change_percent"] => string(3) "0.0" ["ask"] => 文字列(3) "0.0" ["daily_highest"] =>文字列(3) "0.0" ["bid"] =>文字列(3) "0.0" ["daily_lowest" } [5] =>配列(10)"change" = "文字列(6)" "change_percent"( "change_percent" "" bid = "string"(7) "130.107" ["daily_lowest"] =>文字列(7) "0.18672" ["ask"] => "日付"] =>文字列(19) "2017-08-16 09:46:11" ["type"] => "" "129.613" ["daily_highest"] =>文字列(7) "130.405" 文字列 "8" "オリジナル"} [6] =>配列(10) string(6) "1.6186" ["変更"] =>文字列(7) "-0.0036" ["change_percent"] =>文字列(8) "-0.22198" ["ask" "" daily_lowest "] => string" 6 "" daily_highest "=> string(6)" 1.6247 "[" date "] => 文字列(19) "2017-08-16 09:46:11" ["type"] =>文字列(8) "オリジナル"} [7] =>配列(10)........ .....

私はこのコードで出力した各["currency"]["bid"]の値をしようとしている:

foreach($result['currency'][0]['bid'] as $item) { 
    print $item['currency'][0]['bid']; 
} 

そして、まだのようなエラーが発生して、100の他のバリエーションを試してみました:

Warning: Illegal string offset 'currency' in getData.php on line 27 
Warning: Illegal string offset 'value' in getData.php on line 27 
Warning: Invalid argument supplied for foreach() in getData.php on line 27 

たぶんそこにされていますそれを助けることができるオンラインパーサーのウェブサイト?これをどうすれば解決できますか?

+6

これは有効なJSONではなく、むしろ 'var_dump()'の出力のようです。 –

+0

はい、おそらく配列にjsonのデコードのvarダンプです。 – Andreas

+0

あなたは 'JSON'に問題がないので、[PHP配列](http://php.net/manual/en/language.types.array.php#language)の使い方をもっと知る必要があるようです。 .types.array.syntax.accessing)。そして – axiac

答えて

1

私はそうすべきです。

foreach($result['currency']as $item) { 
    print $item['value']; 
} 

各通貨は0,1,2などであるためです。
アイテム0,1,2には「値」があります。

+0

ありがとう!私はまた、コメントに示唆されているように 'var_dump'を使用していたことに気付きました。これは、いくつかの例外を除いて現在動作しています。ここでは、「通知:未定義インデックス:入札」が出力間に数回あります。編集:これらの行には 'bid'値がありません。助けてくれてありがとう! – Ricardo

関連する問題