组合json对象和javascript对象
您好,我有来自MySql的json响应,格式如下组合json对象和javascript对象,javascript,json,Javascript,Json,您好,我有来自MySql的json响应,格式如下 { "allResult": [{ "UkupanBroj": "1", "mesec": "Jul" }, { "UkupanBroj": "3", "mesec": "Jun" }, { "UkupanBroj": "1", "mesec": "May" }], "resultByKurs": null }
{
"allResult": [{
"UkupanBroj": "1",
"mesec": "Jul"
}, {
"UkupanBroj": "3",
"mesec": "Jun"
}, {
"UkupanBroj": "1",
"mesec": "May"
}],
"resultByKurs": null
}
我试图从这个响应对象创建一个图表插件
var flotDashSales2Data = [{
data: [
["Jan", 240],
["Feb", 240],
["Mar", 290],
["Apr", 540],
["May", 480],
["Jun", 220],
["Jul", 170],
["Aug", 190]
],
color: "#850d0d"
}];
是否可以根据我的响应创建新对象???通过这种方式,如果我在某个月的回复中没有在我传递给插件的数据中设置表单示例[“Jan”,0],那么In将非常酷。您可以通过以下方式获得实际数据:
data_result = JSON.parse(result);
它不会有相同的格式,但您可以将其转换为您需要的格式
要聚合数据,您可以按照以下方式进行操作:
var aggregate = {
"Jan": 0,
"Feb": 0,
"Mar": 0,
"Apr": 0,
"May": 0,
"Jun": 0,
"Jul": 0,
"Aug": 0 // fill in all 12 months
};
for (i = 0; i < data_result.allResult.length; i++)
{
item = data_result.allResult[i];
aggregate[item.mesec] += parseInt(item.UkupanBroj, 10);
}
编辑:因为你有12个月的不变量(它们永远不会改变),你可以通过简单地一个接一个地列出它们来避免复杂的代码,如我的代码所示。如果您更喜欢更复杂的代码,那么可以用另一种方法来解决,即。这更多的是一个选择和权衡的问题(灵活性与可读性)。其他因素(如性能)应该是无关的。您可以通过以下方式获得实际数据:
data_result = JSON.parse(result);
var flotDashSales2Data = JSON.parse(response);
它不会有相同的格式,但您可以将其转换为您需要的格式
要聚合数据,您可以按照以下方式进行操作:
var aggregate = {
"Jan": 0,
"Feb": 0,
"Mar": 0,
"Apr": 0,
"May": 0,
"Jun": 0,
"Jul": 0,
"Aug": 0 // fill in all 12 months
};
for (i = 0; i < data_result.allResult.length; i++)
{
item = data_result.allResult[i];
aggregate[item.mesec] += parseInt(item.UkupanBroj, 10);
}
编辑:因为你有12个月的不变量(它们永远不会改变),你可以通过简单地一个接一个地列出它们来避免复杂的代码,如我的代码所示。如果您更喜欢更复杂的代码,那么可以用另一种方法来解决,即。这更多的是一个选择和权衡的问题(灵活性与可读性)。其他因素,如性能,应该是无关的
var flotDashSales2Data = JSON.parse(response);
使用JSON.parse
使用JSON.parse您是否可以确认希望“UkupanBroj”的值作为月份对中的第二个值。。。。e、 g.{“UkupanBroj”:“123”,“mesec”:“Jul”}映射到[“Jul”,123]?您能否确认希望“UkupanBroj”的值作为月份对中的第二个值。。。。e、 g.{“UkupanBroj”:“123”,“mesec”:“Jul”}映射到[“Jul”,123]?