如何解码json数据数组?

时间:2011-08-16 22:18:44

标签: php arrays json

下面的json数据对象是自定义Google搜索API请求返回的内容。我需要提取每个“url”元素并将它们放入一个数组中(使用PHP)。

myArray = {url1,url2,url3等...}

如何?

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

4 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

您可以使用json_decode获取与您的JSON相对应的数组,然后像对普通数组那样进行分析。

答案 2 :(得分:0)

尝试使用:

$myObject=json_decode($myJSONstring);

这是reference

然后做:

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

$ urlArray将是您正在寻找的。

答案 3 :(得分:0)

您可能需要阅读json_decode

相关问题