2014-02-25 31 views
1

我嘗試從json對象提取數據。從json對象中提取多數民衆贊成轉換爲數組php

我mannaged將JSON對象轉換爲數組,但我不能提取,我想 的陣列和的var_dump可以在這裏找到http://pastebin.com/f1ujbSCq

如果陣列中的對象 - >對象 - 看數據> attributes-attribute

您可以在對象類中看到值。 例如,我想要在onject類中名稱爲descr或admin-c,tech-c的值。

,但我不能菲格爾如何做到這一點

這是PHP代碼我用它來從JSON對象數據提取到一個數組:

$domeinnaam = "2.0.0.0.0.0.0.1.8.6.9.0.2.0.a.2.ip6.arpa"; 
$ripeinfo = haalripezone($domeinnaam); 


var_dump($ripeinfo); 
print_r($ripeinfo); 


function haalripezone ($domeinnaam) 
{ 

$link = "https://rest.db.ripe.net/ripe/domain/$domeinnaam.json"; 
$downloadlink = file_get_contents($link); 
$result = json_decode($downloadlink); 

回答

1

您可以在對象類中看到值。例如我想要的值爲 ,其中onject類中的名稱是descr或admin-c,tech-c。

既然你已經解碼的JSON作爲一個對象,你可以訪問你的領域這樣的..

echo $yourObject->objects->attributes->attribute->name; //"prints" admin-c 

,你可以通過使用foreach結構交替循環..

<?php 
$domeinnaam = "2.0.0.0.0.0.0.1.8.6.9.0.2.0.a.2.ip6.arpa"; 
$ripeinfo = haalripezone($domeinnaam); 
echo "<pre>"; 
foreach($ripeinfo->objects->object[0]->attributes->attribute as $attr) 
{ 
    echo $attr->name."<br>"; 
} 


function haalripezone ($domeinnaam) 
{ 

    $link = "https://rest.db.ripe.net/ripe/domain/$domeinnaam.json"; 
    //$downloadlink = file_get_contents($link); 
    $downloadlink = '{"objects":{"object":[{"type":"domain","link":{"type":"locator","href":"http://rest.db.ripe.net/ripe/domain/2.0.0.0.0.0.0.1.8.6.9.0.2.0.a.2.ip6.arpa"},"source":{"grs-mirror":[],"id":"ripe"},"primary-key":{"attribute":[{"name":"domain","value":"2.0.0.0.0.0.0.1.8.6.9.0.2.0.a.2.ip6.arpa"}]},"attributes":{"attribute":[{"name":"domain","value":"2.0.0.0.0.0.0.1.8.6.9.0.2.0.a.2.ip6.arpa"},{"name":"descr","value":"Reverse delegation for Glue network ipv6 tunnel server"},{"name":"nserver","value":"ns3.hobby.nl"},{"name":"nserver","value":"ns2.hobby.nl"},{"name":"nserver","value":"ns1.hobby.nl"},{"link":{"type":"locator","href":"http://rest.db.ripe.net/ripe/role/HNET2-RIPE"},"name":"admin-c","value":"HNET2-RIPE","referenced-type":"role"},{"link":{"type":"locator","href":"http://rest.db.ripe.net/ripe/role/HNET2-RIPE"},"name":"tech-c","value":"HNET2-RIPE","referenced-type":"role"},{"link":{"type":"locator","href":"http://rest.db.ripe.net/ripe/role/HNET2-RIPE"},"name":"zone-c","value":"HNET2-RIPE","referenced-type":"role"},{"link":{"type":"locator","href":"http://rest.db.ripe.net/ripe/mntner/HOBBYNET-RIPE-MNT"},"name":"mnt-by","value":"HOBBYNET-RIPE-MNT","referenced-type":"mntner"},{"name":"source","value":"RIPE","comment":"Filtered"}]},"tags":{"tag":[]}}]},"terms-and-conditions":{"type":"locator","href":"http://www.ripe.net/db/support/db-terms-conditions.pdf"}}'; 
    $result = json_decode($downloadlink); 
    return $result; 
} 

OUTPUT :

domain 
descr 
nserver 
nserver 
nserver 
admin-c 
tech-c 
zone-c 
mnt-by 
source 

Demo

+0

仍然無法正常工作請參閱:http://pastebin.com/rLEdfbc0 PHP注意:嘗試在第8行獲取/root/ripe-client/download-xml.php中的非對象屬性PHP注意:嘗試在第8行獲取/root/ripe-client/download-xml.php中的非對象屬性PHP注意:嘗試在第8行中獲取/root/ripe-client/download-xml.php中的非對象屬性 PHP注意:嘗試在第8行獲取/root/ripe-client/download-xml.php中的非對象屬性PHP警告:在/ root/ripe-client/download-xml中爲foreach()提供了無效參數。第8行上的.php –

+0

你現在可以射門嗎? –

+0

https://eval.in/105486 –

1

嘗試

$result = json_decode($downloadlink, true); 

這樣解碼將被完全放入一個數組,然後訪問數據將更容易

+0

奧凱是擺脫對象類女巫是好的,但是當我嘗試提取與 的foreach $ inhoud = $ ripeinfo->對象 - >對象 - >屬性 - >屬性的數據; foreach($ inhoud as $ inhoudend)它不起作用 { echo $ inhoudend [name]; } –