php上数据通用树可视化的Json解析
最近我发现了一个惊人的javascript可视化库,我想将它集成到我实际的webapp中。Im以以下格式从facebook API获取数据:php上数据通用树可视化的Json解析,php,json,visualization,Php,Json,Visualization,最近我发现了一个惊人的javascript可视化库,我想将它集成到我实际的webapp中。Im以以下格式从facebook API获取数据: Array ( [data] => Array ( [0] => Array ( [category] => Community [name] => Different So
Array
(
[data] => Array
(
[0] => Array
(
[category] => Community
[name] => Different Solutions
[id] => 271915499553486
[created_time] => 2012-09-23T17:17:23+0000
)
[1] => Array
(
[category] => Non-profit organization
[name] => Indigeni Digitali
[id] => 295601322240
[created_time] => 2012-01-23T19:32:13+0000
)
[2] => Array
(
[category] => Cause
[name] => StartupVisa
[id] => 10150111295350167
[created_time] => 2011-12-11T19:12:51+0000
)
[3] => Array
(
[category] => Business services
[name] => H-FARM Ventures
[id] => 84021019572
[created_time] => 2011-04-02T02:30:26+0000
)
[4] => Array
(
[category] => News/media website
[name] => iSpazio
[id] => 179295038271
[created_time] => 2010-05-28T21:12:28+0000
)
[5] => Array
(
[category] => Website
[name] => Hot Pin Venezuela
[id] => 110628642307976
[created_time] => 2010-04-20T18:45:08+0000
)
[6] => Array
(
[category] => Website
[name] => El Chiguire Bipolar
[id] => 14588159235
[created_time] => 2008-11-07T02:27:12+0000
)
)
[paging] => Array
(
[next] => https://graph.facebook.com/1125405534/likes?limit=5000&offset=5000&__after_id=14588159235
)
)
从数据数组中,我选择了类别和名称,不幸的是,信息没有按类别分类,我的想法是,如果在树的中心我有用户名,那么从这一点上,每个分支将进入一个类别,从每个类别中,每个名称对应一个分支。我需要安排一下,请看一下jsonvar
我可以使用php字符串函数构建该格式,就像我为google chart api所需的其他格式所做的那样:
foreach($user_likes['data'] as $category) {
if(isset($norm_interests[$category['category']])) {
$norm_interests[$category['category']] += 1; }
else {
$norm_interests[$category['category']] = 1; }
}
echo "data.addRows([";
while ($category = current($norm_interests)) {
if(key($norm_interests) <> 'Website') {
echo "['" . key($norm_interests) . "', " . $category . "],";
}
next($norm_interests);
}
echo "]);";
foreach($user_喜欢['data']作为$category){
如果(isset($norm_interests[$category['category']]){
$norm_interest[$category['category']]+=1;}
否则{
$norm_interest[$category['category']]=1;}
}
echo“data.addRows([”;
而($category=当前($norm\u interest)){
如果(关键($norm_interests)‘网站’{
echo“[”.key($norm_interests)。”、“$category.”、“;
}
下一步(正常利益);
}
回声“]);”;
但是由于这种新格式是JSON(并且是JSON上的im noob),我非常确定有一种更好的方法可以使用php的JSON功能构建我需要的新var。其思想是在php中生成json变量,然后我将响应JS的变量 ?你误解了我的意思,我粘贴的函数是旧格式的。新格式是在这个链接上找到的Json var:使用foreach by reference运行数组并根据需要更改键以适应新格式,然后使用Json_encode返回浏览器谢谢!,请您在回答中详细说明您的评论,不要要求完整的代码,只需要开始。
foreach($user_likes['data'] as $category) {
if(isset($norm_interests[$category['category']])) {
$norm_interests[$category['category']] += 1; }
else {
$norm_interests[$category['category']] = 1; }
}
$data = json_encode( $norm_interests );
echo "data.addRows(" . $data . ");";
}