我正在尝试使用杂志api获取以下json内容。json的输出是这样的。我希望下面的json转换为php数组。
{ "bpath": "http://www.sampledomain.com/", "clist": [ { "cid": "11", "display_type": "grid", "ctitle": "abc", "acount": "71", "alist": [ { "aid": "6865", "adate": "2 Hours ago", "atitle": "test", "adesc": "test desc", "aimg": "", "aurl": "?nid=6865", "weburl": "news.php?nid=6865", "cmtcount": "0" }, { "aid": "6857", "adate": "20 Hours ago", "atitle": "test1", "adesc": "test desc1", "aimg": "", "aurl": "?nid=6857", "weburl": "news.php?nid=6857", "cmtcount": "0" } ] }, { "cid": "1", "display_type": "grid", "ctitle": "test1", "acount": "2354", "alist": [ { "aid": "6851", "adate": "1 Days ago", "atitle": "test123", "adesc": "test123 desc", "aimg": "", "aurl": "?nid=6851", "weburl": "news.php?nid=6851", "cmtcount": "7" }, { "aid": "6847", "adate": "2 Days ago", "atitle": "test12345", "adesc": "test12345 desc", "aimg": "", "aurl": "?nid=6847", "weburl": "news.php?nid=6847", "cmtcount": "7" } ] }, ] }
我的代码如下所示。
<?php $json_url = "http://api.testmagazine.com/test.php?type=menu"; $json = file_get_contents($json_url); $data = json_decode($json, TRUE); echo "<pre>"; print_r($data); echo "</pre>"; ?>
上面的代码返回一个空数组。:(如何将上述JSON转换为php对象数组。我很无奈。
谢谢哈恩
您提供的JSON示例无效。使用此JSON验证程序http://jsonlint.com/在线进行检查。您需要删除第59行上的多余逗号。
一个拥有有效json的人,可以使用此代码将其转换为数组。
json_decode($ json,true);
Array ( [bpath] => http://www.sampledomain.com/ [clist] => Array ( [0] => Array ( [cid] => 11 [display_type] => grid [ctitle] => abc [acount] => 71 [alist] => Array ( [0] => Array ( [aid] => 6865 [adate] => 2 Hours ago [atitle] => test [adesc] => test desc [aimg] => [aurl] => ?nid=6865 [weburl] => news.php?nid=6865 [cmtcount] => 0 ) [1] => Array ( [aid] => 6857 [adate] => 20 Hours ago [atitle] => test1 [adesc] => test desc1 [aimg] => [aurl] => ?nid=6857 [weburl] => news.php?nid=6857 [cmtcount] => 0 ) ) ) [1] => Array ( [cid] => 1 [display_type] => grid [ctitle] => test1 [acount] => 2354 [alist] => Array ( [0] => Array ( [aid] => 6851 [adate] => 1 Days ago [atitle] => test123 [adesc] => test123 desc [aimg] => [aurl] => ?nid=6851 [weburl] => news.php?nid=6851 [cmtcount] => 7 ) [1] => Array ( [aid] => 6847 [adate] => 2 Days ago [atitle] => test12345 [adesc] => test12345 desc [aimg] => [aurl] => ?nid=6847 [weburl] => news.php?nid=6847 [cmtcount] => 7 ) ) ) ) )