2016-03-14 101 views
0

我想使用PHP從外部網站解析JSON數據。此代碼如預期運行:獲取JSON數據的特定部分

$json = file_get_contents($url); 
$obj = json_decode($json); 

...和

echo $obj->title; 

...被張貼在JSON數據(孤島驚魂原始)標題:

{"id":241408,"title":"Far Cry Primal","url":"http:\/\/www.prisguide.no\/produkt\/far-cry-primal-241408","price":547,"priceCount":13,"image":{"100x100":"http:\/\/img.prisguide.no\/1678\/1678079\/original.77x100mt.jpg","300x300":"http:\/\/img.prisguide.no\/1678\/1678079\/original.232x300t.jpg","500x500":"http:\/\/img.prisguide.no\/1678\/1678079\/original.jpg"},"category":"Spill","categoryId":32,"manufacturer":"Ubisoft Montreal","specifications":"Xbox One, Action, 18+, Ubisoft","specificationsFull":[{"id":96,"name":"Plattform","type":"select","sectionName":"Generelt","value":[{"id":45275,"value":"Xbox One"}]} 

但我需要訪問更多的元素,像最後一個元素(滾動到右側) - 值:Xbox One.This有它自己的ID,但我不知道如何訪問它。

任何提示?

+3

我非常懷疑這是按預期工作,使用'json_decode($ json,true)'給你一個數組,而不是一個對象。 – jeroen

+0

你可以使用foreach的'$ obj-> value'並且容易得到數據 –

+0

對不起,刪除了「true」,沒有它的工作 - 但有更多的數據與「value」屬性(每一個都有一個ID,但我不想張貼幾英里的類似代碼) - 我想要的是具體ID的價值 – BTB

回答

1

嘗試這樣的事情,你的JSON無效,所以我無法測試它,但我相信你明白了。

foreach($obj as $items) 
{ 
    foreach($items as $item) 
    { 
     foreach($item as $value) 
     { 
      foreach($value as $key => $value) 
      { 
       echo $key . ': ' . $value; 
       echo '<br>'; 
      } 
     } 
    } 
} 
+0

這非常接近!我只是覺得我需要進一步「更深入」,因爲它的打印:'value:Array',我需要該數組中的內容 – BTB

+0

我已經更新了包含另一個級別的答案。請接受這個答案,如果你很高興它的幫助:) –