如何json_decode原始json数据?

时间:2011-10-25 22:36:43

标签: php arrays json

如果我使用此链接:http://socialgraph.apis.google.com/lookup?q=twitter.com&fme=1&edi=1&edo=1&pretty=1&callback=twitter我得到:

twitter({
"canonical_mapping": {
"twitter.com": "http://twitter.com/"
},
"nodes": {
"http://twitter.com/": {
"attributes": {
 "fn": "Mysteriously Unnamed"
},
"claimed_nodes": [
],
"unverified_claiming_nodes": [
"http://7502112.appspot.com/aldiRN",
"http://a.danteng.me/BimaVii",
"http://a.danteng.me/iamsccb",
"http://a.danteng.me/kuiperdagne",
"http://a.danteng.me/lezzchow",
.....

我怎么读到这个?

我试过了

$link = 'http://socialgraph.apis.google.com/lookup?q=exploretalent.com%2F&fme=1&edi=1&edo=1&pretty=1&callback=exploretalent';
$socialapi = @file_get_contents($link);
$social_api = json_decode($socialapi, true);
var_dump ($social_api);

但我明白了:<pre class='xdebug-var-dump' dir='ltr'><font color='#3465a4'>null</font>

有没有办法将其转换为数组?

感谢

1 个答案:

答案 0 :(得分:4)

关闭回调 - 它将JSON转换为JSONP,尝试调用JS函数twitter(),并将数据传递给它。

此网址应该可以通过json_decode进行转换:http://socialgraph.apis.google.com/lookup?q=twitter.com&fme=1&edi=1&edo=1&pretty=1

事实上,'漂亮'参数也不相关。这是原始的json,应该效果最好:http://socialgraph.apis.google.com/lookup?q=twitter.com&fme=1&edi=1&edo=1