2014-08-30 55 views
0

我想通過php輸出json文件的一些json數據,但它似乎不工作。我嘗試這樣做:從php中的.json文件解碼json數據

<?php 
    $jsonFile = file_get_contents('dataset/dataset.json'); 
    $data = json_decode($jsonFile, true); 

    echo $data->{'data'}[0]->{'letter'} 
?> 

JSON文件是以下幾點:

{ 
    "data":[ 
     { 
      "letter":"A", 
      "blocks":{ 
       "1":"0", 
       "2":"0", 
       "3":"0", 
       "4":"0", 
       "5":"0" 
      } 
     } 
]} 

基本上它應該輸出字母 「A」,但它什麼也不輸出。我做錯了什麼? 謝謝

P.S.我試圖像這樣做:How to process JSON in PHP?但它不起作用。

回答

2

之後json_decode($jsonFile, true)您的數據是在數組中。所以你不應該訪問使用對象。按數組索引訪問數據。試試這個..

echo $data['data'][0]['letter']; 

More about json_decode()

+2

這是真的,只是因爲他在'json_decode()'函數中使用'true'作爲第二個參數,使用第二個參數使函數返回爲'關聯數組',我認爲你應該詳細說明你的答案 – Fabio 2014-08-30 16:24:55

+0

Awesome thx有效! – Paco 2014-08-30 16:25:19

1

這上面說,你得到一個數組(真實參數):

$data = json_decode($jsonFile, true); 

你可以看到這一點,如果你這樣做:

print_r($data); 

試試這個:

echo $data['data'][0]['letter'];