2012-12-26 50 views
0

我對JSON和更「高級」數組頗爲陌生。因此,我不知道我應該怎麼尋找...數組的回聲「部分」(從JSON解碼)

我有這樣的「JSON陣列」(你叫什麼名字嗎?):

{ 
    "id": "321123321", 
    "statuses": { 
     "data": [ 
     { 
      "message": "testmessage", 
      "updated_time": "2012-12-25T16:33:29+0000", 
      "id": "123321123" 
     } 
     ], 
     "paging": { 
     "previous": "1", 
     "next": "1" 
     } 
    } 
}​ 

我要創建「消息變量「這被稱爲$消息,而來自」up_datedtime「的變量稱爲$ updated。

要獲得我簡單的ID: $ json_a = json_decode($ string,true); $ id $ json_a ['id'];

而對於狀態: $ json_a = json_decode($ string,true); $ status = $ json_a ['id'] ['statuses'];

但是,當我嘗試獲得「消息」時,我得到「無法使用字符串偏移量作爲數組」: $ message = $ json_a ['id'] ['statuses'] ['data'] ['message 「];

如何以正確的方式從數組中獲取$消息?

回答

0

你可以得到這樣

$message = $json_a['id']['statuses']['data'][0]['message']; 

,或者你可以從循環得到

$dataArr = $json_a['id']['statuses']['data']; 

foreach ($dataArr as $val) { 
    echo "message".$val['message']; 
} 
+0

$消息= $ json_a [ '身份證'] [ '狀態'] [ '數據'] [0 ]['信息']; echo $ message;「 給我」不能使用字符串偏移作爲數組我「我已經使用了錯誤,但我還沒有找到任何解決方案,我的問題... –

+0

然後你可以通過逐步打印($ json_a ['id'] ['stat']);工作正常,但print_r($ json_a ['data']); – laxonline

+0

print_r id'] ['statuses'] ['data']);給我這個錯誤:「不能使用字符串偏移量作爲一個數組」我應該怎麼做才能避免錯誤? –