2017-08-05 155 views
1

我有一個JSON文件,我想用PHP訪問並獲取特定數據。如何從PHP獲取JSON數據

的Json

{ 
    "time": { 
    "updated": "Aug 5, 2017 11:29:00 UTC", 
    "updatedISO": "2017-08-05T11:29:00+00:00", 
    "updateduk": "Aug 5, 2017 at 12:29 BST" 
    }, 
    "disclaimer": "This data was produced from the CoinDesk Bitcoin Price Index (USD). Non-USD currency data converted using hourly conversion rate from openexchangerates.org", 
    "chartName": "Bitcoin", 
    "bpi": { 
    "USD": { 
     "code": "USD", 
     "symbol": "$", 
     "rate": "3,162.7838", 
     "description": "United States Dollar", 
     "rate_float": 3162.7838 
    }, 
    "GBP": { 
     "code": "GBP", 
     "symbol": "£", 
     "rate": "2,425.3554", 
     "description": "British Pound Sterling", 
     "rate_float": 2425.3554 
    }, 
    "EUR": { 
     "code": "EUR", 
     "symbol": "€", 
     "rate": "2,686.2440", 
     "description": "Euro", 
     "rate_float": 2686.244 
    } 
    } 
} 

我想從JSON對象中的數據,並試圖這些事情。沒有任何運氣。

$test = $json_data['bpi']['EUR'][0]['rate']; 
echo $test; 

$array = json_decode($json_data, true); 
echo $array->bpi->EUR->rate; 
echo $array['bpi'][2]['rate']; 
echo $array[1]['bpi'][1]; 

有人能幫助我在這裏

回答

4

首先關閉所有bpi是assoc命令陣列(鍵 - 字符串,而不是整數)

$data = '{your_json_string_here}'; 
# as array 
$array = json_decode($data, true); 

echo $array['bpi']['EUR']['rate']; # 2,686.2440 

# as object 
$array = json_decode($data); 

echo $array->bpi->EUR->rate; # 2,686.2440 

使用print_r($array);進行調試。希望這可以幫助。