2011-08-16 58 views
0

下面的json數據對象是自定義Google搜索API請求返回的內容。我需要提取每個「url」元素並將它們放入數組中(使用PHP)。如何解碼json數據數組?

myArray的= {爲url1,url2 URL3等..}

如何?

data = '{ 
"responseData": 
{ 
    "results": 
    [ 
     { 
      //etc 
     } 
    ] 
} 
+0

在哪語言? –

+0

PHP,我已經編輯了這個問題來補充。謝謝。 – RegEdit

+3

你有沒有在Google上試過「json decode php」? –

回答

2

難道我讀了正確的,你有JSON字符串?使用json_decode來解碼它。之後,你可以使用

array_map(function($x){ 
    return $x->url; 
},$var->responceData->results); 

(需要PHP 5.3匿名函數,你可以使用任何匿名的,如果使用PHP5.2或以上)

更高版本:

function smth($x){ 
    return $x->url; 
} 
array_map('smth',$var->responceData->results); 
+0

+1謝謝。我需要PHP 5.x兼容性 – RegEdit

0

您可以使用json_decode獲得相當於您的JSON數組,然後分析它像你這樣一個正常的陣列做。

0

嘗試使用:

$myObject=json_decode($myJSONstring); 

這裏的reference

然後做:

$urlArray=array(); 
foreach($myObject->responseData->results as $myResult) { 
    foreach($myResult as $myAttribute => $myValue) { 
     $urlArray[] = $myValue; 
    } 
} 

$ urlArray將是你在找什麼。