2017-08-16 203 views
-5

我已經閱讀了關於如何使用PHP解析JSON的StackOverflow上的每一個問題,但他們中沒有人正在使用我擁有的JSON。用PHP解析JSON對象

陣列(2){[ 「狀態」] => BOOL(真)[ 「貨幣」] =>陣列(30){[0] => 陣列(10){[ 「貨幣」] => string(7)「EUR/AUD」[「value」] => string(6) 「1.4925」[「change」] => string(7)「-0.0076」[「change_percent」] => string (8)「-0.50663」[「ask」] => string(6)「1.4926」[「bid」] => string(6) 「1.4923」[「daily_lowest」] => string(6) [「daily_highest」] => string(6)「1.5016」[「date」] => string(19)「2017-08-16 09:46:11」 [「type」] => string(8) 「原始」} [1] => array(10){[「currency」] => string(7)「EUR/CAD」[「value」] => string(5)「1.494」[「change」] => string(7)「-0.0032」[「change_percen t「] => string(8)」-0.21373「 [」ask「] => string(5)」1.494「[」bid「] => string(6)」1.4939「 [」daily_lowest「] => string(5)「1.489」[「daily_highest」] => string(6) 「1.4986」[「date」] => string(19)「2017-08-16 09:46:11」[「type」] => string(8)「original」} [2] => array(10){[「currency」] => string(7) 「EUR/CHF」[「value」] => string(6) 1.1434「[」change「] =>字符串(6) 」0.0024「[」change_percent「] =>字符串(7)」0.21034「[」ask「] =>字符串(6) 」 ] => string(6)「1.1434」[「daily_lowest」] => string(6) 「1.1402」[「daily_highest」] => string(6)「1.1444」[「date」] => string(19) (10){[「currency」] => string(7)=「 」2017-08-16 09:46:11「[」type「] => string(8)」original「} [3] => 「EUR/GBP」[「value」] => string( 6) 「0.9099」[「change」] => string(7)「-0.0019」[「change_percent」] => string(8)「-0.20838」[「ask」] => string(4)「0.91 「[」bid「] => string(6) 」0.9099「[」daily_lowest「] => string(6)」0.9083「[」daily_highest「] => string(6)」0.9144「[」date「 => string(19)「2017-08-16 09:46:11」 [「type」] => string(8)「original」} [4] => array(10){[「currency」] = > string(7)「EUR/ILS」[「type」] => string(9)「converted」[「date」] => string(19)「2017-08-16 09:46:11」[ 「value」] => string(7)「4.24323」 [「change」] => string(3)「0.0」[「change_percent」] => string(3)「0.0」 [「ask」] => string(3)「0.0」[「bid」] => string(3)「0.0」[「daily_lowest」] => string(3)「0.0」[「daily_highest」] => string(3) } [5] => array(10) {[「currency」] => string(7)「EUR/JPY」[「value」] => string(8)「130.1145」 [「change」] => string(6)「0.2425」[「change_percent 「] => string(7) 」0.18672「[」ask「] => string(7)」130.122「[」bid「] => string(7)」130.107「 [」daily_lowest「] => string 7)「129.613」[「daily_highest」] => string(7) 「130.405」[「date」] => string(19)「2017-08-16 09:46:11」[「type」] => 「EUR/NZD」[「value」] => string(6)「1.6182」字符串(8)「original」} [6] => array(10){[「currency」] => string(7) [「change」] => string(7) 「-0.0036」[「change_percent」] => string(8)「-0.22198」[「ask」] => string(6)「1.6186」[「bid」 (6)「1.6178」[「daily_lowest」] => string 210 string(19)「2017-08-16 09:46:11」[「type」] => string(8)「original」} [7] => array(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's的問題,它似乎你需要閱讀更多關於如何使用[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'像其他人在評論中所建議的那樣。它現在正在工作,除了一些例外情況,我可以看到'注意:未定義索引:在輸出之間幾次出價。編輯:這些行中沒有「出價」值。感謝您的幫助! – Ricardo