如何生成这样的文件格式(javascript数组??)??用PHP

时间:2016-12-01 03:20:21

标签: php arrays json amcharts

这可以在PHP中生成如下所示的文件格式吗?因为我会在我的图表中使用它。所以有人请帮助我,任何帮助将不胜感激。

[{
"title": "Marketing",       /* This is a code from a sample in chart */
"value": 23,                /* The sample chart of link is below */
"url":"#",
"description":"click to drill-down",
"data": [
{ "title": "Jan", "value": 1, "data": [
  { "title": "AAA", "value": 2 },
  { "title": "BBB", "value": 5 },
  { "title": "CCC", "value": 1 },
] },
{ "title": "Feb", "value": 2 },
{ "title": "Mar", "value": 1 },
{ "title": "Apr", "value": 3 },
{ "title": "May", "value": 2 },
{ "title": "Jun", "value": 1 },
{ "title": "Jul", "value": 2 },
{ "title": "Aug", "value": 3 },
{ "title": "Sep", "value": 3 },
{ "title": "Oct", "value": 1 },
{ "title": "Nov", "value": 1 },
{ "title": "Dec", "value": 3 }
]
}, {
"title": "Sales",
"value": 26,
"url":"#",
"description":"click to drill-down",
"data": [
{ "title": "Jan", "value": 4 },
{ "title": "Feb", "value": 3 },
{ "title": "Mar", "value": 1 },
{ "title": "Apr", "value": 4 },
{ "title": "May", "value": 2 },
{ "title": "Jun", "value": 1 },
{ "title": "Jul", "value": 2 },
{ "title": "Aug", "value": 2 },
{ "title": "Sep", "value": 3 },
{ "title": "Oct", "value": 1 },
{ "title": "Nov", "value": 1 },
{ "title": "Dec", "value": 3 }
 ]
}, {
"title": "Logistics",
"value": 30,
"url":"#",
"description":"click to drill-down",
"data": [
{ "title": "Jan", "value": 2 },
{ "title": "Feb", "value": 3 },
{ "title": "Mar", "value": 1 },
{ "title": "Apr", "value": 5 },
{ "title": "May", "value": 2 },
{ "title": "Jun", "value": 1 },
{ "title": "Jul", "value": 2 },
{ "title": "Aug", "value": 2 },
{ "title": "Sep", "value": 3 },
{ "title": "Oct", "value": 1 },
{ "title": "Nov", "value": 1 },
{ "title": "Dec", "value": 3 }
]
}];

我一直在研究的样本图表的链接.. http://codepen.io/team/amcharts/pen/c5ea20211ef3a5151480e88ed680dcb8

提前致谢..

2 个答案:

答案 0 :(得分:0)

您只需要json_encode()函数来格式PHP Array成为JSON。但请确保您的PHP安装具有Json扩展(php-json

$array = [
    [
        'title' => 'Marketing',
        'value' => 23,
        'url' => '#',
        'description' => 'click to drill-down',
        'data' => [
            [
                'title' => 'Jan',
                'value' => 1,
                'data'  => [
                    ['title' => 'AAA', 'value' => 2],
                    ['title' => 'BBB', 'value' => 5],
                    ['title' => 'CCC', 'value' => 1],
                ]
            ],
            [
                'title' => 'Feb',
                'value' => 2
            ],
            [
                'title' => 'Mar',
                'value' => 2
            ],
            [
                'title' => 'Apr',
                'value' => 2
            ],
            [
                'title' => 'May',
                'value' => 2
            ],
            [
                'title' => 'Jun',
                'value' => 2
            ],
            [
                'title' => 'Jul',
                'value' => 2
            ],
            [
                'title' => 'Aug',
                'value' => 2
            ],
            [
                'title' => 'Sep',
                'value' => 2
            ],
            [
                'title' => 'Oct',
                'value' => 2
            ],
            [
                'title' => 'Nov',
                'value' => 2
            ],
            [
                'title' => 'Des',
                'value' => 2
            ],
        ]
   ],
   [
        'title' => 'Logistic',
        'value' => 30,
        'url' => '#',
        'description' => 'click to drill-down',
        'data' => [
        ]

   ]
];
echo json_encode($array);

答案 1 :(得分:0)

  

您可以直接在PHP中生成JSON数据。如果您从数据库或通过某些Web服务获取数据,或者您是否只是自己动态构建数据,那将根本不重要。原理是一样的。获得最终数据后:例如,数据库中的结果集,您只需在该数据上调用函数String FoodName = FoodET.getText().toString().trim(); String calString = CalorieET.getText().toString().trim(); 即可。所有这些都是它....

foodET = ((EditText) view.findViewById(R.id.foodEditText)).getText().toString();
calorieET = ((EditText) view.findViewById(R.id.caloriesEditText)).getText().toString();