[英]php json output to chartkick linechart format
I have a php json response coming to js via ajax call and the json response is as below 我有一个通过ajax调用传入js的php json响应,并且json响应如下
{
"success":true,
"dataset":[{"COUNTITEMS":41,"VIEW_DATE":"2015-10-27 00:00:00 -2359"},
{"COUNTITEMS":68,"VIEW_DATE":"2015-10-28 00:00:00 -2359"},
{"COUNTITEMS":63,"VIEW_DATE":"2015-10-29 00:00:00 -2359"},
{"COUNTITEMS":327,"VIEW_DATE":"2015-10-30 00:00:00 -2359"},
{"COUNTITEMS":46,"VIEW_DATE":"2015-10-31 00:00:00 -2359"}]
}
chartkick.js requires the following format. chartkick.js需要以下格式。 In my js file, this is how it works if I hard coded.
在我的js文件中,如果我进行硬编码,这就是它的工作方式。
var view_dates = {
"2015-10-27 00:00:00 -2359":41,
"2015-10-28 00:00:00 -2359":68,
"2015-10-29 00:00:00 -2359":63,
"2015-10-30 00:00:00 -2359":327,
"2015-10-31 00:00:00 -2359":46
};
new Chartkick.LineChart("chart-1", view_dates);
I cannot parse the json response to how chart kick requires. 我无法解析json响应,以了解图表踢的要求。 How can i do this?
我怎样才能做到这一点?
Working Demo (You have to see result in console=> by inspect element) 工作演示 (您必须通过inspect元素在console =>中查看结果)
You can assign and initiate any new property for a json object with any value; 您可以使用任何值为json对象分配和启动任何新属性;
var newObject = {};
newObject[propertyNameOfYourChoice_Means_NewName] = propertyValue;
This was solution to your problem. 这是解决您的问题的方法。 Now you could see how its implmented
现在您可以看到其实施方式
var g = {
"success":true,
"dataset":[{"COUNTITEMS":41,"VIEW_DATE":"2015-10-27 00:00:00 -2359"},
{"COUNTITEMS":68,"VIEW_DATE":"2015-10-28 00:00:00 -2359"},
{"COUNTITEMS":63,"VIEW_DATE":"2015-10-29 00:00:00 -2359"},
{"COUNTITEMS":327,"VIEW_DATE":"2015-10-30 00:00:00 -2359"},
{"COUNTITEMS":46,"VIEW_DATE":"2015-10-31 00:00:00 -2359"}]
};
parseJSONForChartkick(g);
function parseJSONForChartkick(oldObject)
{
var newObject = {};
var propertyName;
var propertyValue;
var ar = oldObject.dataset;
for(i=0;i<ar.length;i++)
{
propertyName = ar[i].VIEW_DATE; //You might need not following
propertyName = '"'+ar[i].VIEW_DATE+'"'; //Use This or above line
propertyValue = ar[i].COUNTITEMS;
newObject[propertyName] = propertyValue;
}
console.log(newObject);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.