如何处理JSON返回数组?

时间:2011-10-05 09:47:28

标签: php jquery json

我已经学到了很多XML处理,但是我对JSON很废话,并想知道如何用PHP(或jquery)解析以下数据。 如果我要

$var = file_get_contents("http://wthashtag.com/api/v2/trends/active.json");

(这是一个Twitter JSON回归趋势数据) 然后,

$obj = var_dump(json_decode($var));

URL是json中的url变量,Blah是名称变量,这里是文本,引用json中的text:变量 我如何获取http://wthashtag.com/api/v2/trends/active.json的输入json,并将其输出为:

<a href="http://twitter.com/search?q=blah">Blah</a><br>(text here)

这对我来说真的很困惑:我已经在SO和谷歌以及PHP手册上尝试过其他一些回复,没有一个得到成功的结果,我能得到的最好的回报是将$ obj作为json解码的字符串在任何地方都有一个对象(stdclass)数组。

4 个答案:

答案 0 :(得分:1)

您可以让json_decode()返回一个对象或一个数组(通过将第二个参数设置为true)。之后,您可以使用该对象/数组中的值(在您的案例中为$obj)进行进一步处理。例如:

foreach ( $obj->trends as $trend ) {
    echo '<a href="' . $trend['url'] . '">' . $trend['name'] . '</a>';
}

答案 1 :(得分:0)

使用json_decode时,您正在创建一个数组。在print_r上执行json_decode($var),您将获得多维数组结构 - 然后您就可以执行以下操作:

echo $jsonArray['something']['text'];

答案 2 :(得分:0)

这是您在json_decode

之后收到的对象
<?php
$object = json_decode(file_get_contents("http://wthashtag.com/api/v2/trends/active.json"));

foreach($object->trends as $trend){
    echo '<a href="'.$trend->url.'">'.$trend->name.'</a><br />'.$trend->description->text.'<br />';
}
?>

答案 3 :(得分:0)

你去吧

<?php

$var = file_get_contents("http://wthashtag.com/api/v2/trends/active.json");
$json = json_decode($var);
foreach($json->trends as $lol){
      echo "<a href=".$lol->url.">".$lol->name."</a><br>";
}

?>