2016-03-14 103 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

我已经更新了包含另一个级别的答案。请接受这个答案,如果你很高兴它的帮助:) –