JS 怎样将json格式数据写入数组
json数据格式如下:
[{"day":"1969-12-31","sum":10},{"day":"1969-12-30","sum":20},{"day":"1969-12-29","sum":30},{"day":"1969-12-28","sum":15,{"day":"1969-12-27","sum":26},{"day":"1969-12-26","sum":33},{"day":"1969-12-25","sum":18}]
写入这样一个数组里:
var chartData = [
{
country: "12-25",
visits: 18,
color: "#FF0F00"
},
{
country: "12-26",
visits: 33,
color: "#FF0F00"
},
{
country: "12-27",
visits: 26,
color: "#FF0F00"
},
{
country: "12-28",
visits: 15,
color: "#FF0F00"
},
{
country: "12-29",
visits: 30,
color: "#FF0F00"
},
{
country: "12-30",
visits: 20,
color: "#FF0F00"
},
{
country: "12-31",
visits: 10,
color: "#FF0F00"
}];
如何实现呢? json js 数组
[解决办法]
var json = [{"day":"1969-12-31","sum":10},{"day":"1969-12-30","sum":20},{"day":"1969-12-29","sum":30},{"day":"1969-12-28","sum":15},{"day":"1969-12-27","sum":26},{"day":"1969-12-26","sum":33},{"day":"1969-12-25","sum":18}];
var chartData = [];
for(var i=json.length-1; i>=0 ; i--)
chartData.push({
country: json[i].day.replace(/^\d\d\d\d-/,""),
visits: json[i].sum,
color: "#FF0F00"
});
[解决办法]
jquery 差不多意思,不好。
var json = [{"day":"1969-12-31","sum":10},{"day":"1969-12-30","sum":20},{"day":"1969-12-29","sum":30},{"day":"1969-12-28","sum":15},{"day":"1969-12-27","sum":26},{"day":"1969-12-26","sum":33},{"day":"1969-12-25","sum":18}];
var chartData = [];
var obj={};
$(json.reverse()).each(function(i,e){
obj.country=e.day.replace(/^\d\d\d\d-/,"");
obj.visits=e.sum;
obj.color="#FF0F00";
chartData.push(obj);
});
------解决方案--------------------
var obj={};放到function(i,e)里边,不然所有数组元素中都是同一个对象
var json = [{"day":"1969-12-31","sum":10},{"day":"1969-12-30","sum":20},{"day":"1969-12-29","sum":30},{"day":"1969-12-28","sum":15},{"day":"1969-12-27","sum":26},{"day":"1969-12-26","sum":33},{"day":"1969-12-25","sum":18}];
var chartData = [];
$(json.reverse()).each(function(i,e){
var obj={};
obj.country=e.day.replace(/^\d\d\d\d-/,"");
obj.visits=e.sum;
obj.color="#FF0F00";
chartData.push(obj);
});
[解决办法]
楼上给出答案了
我也说个
var json =[];
var kid1 ={"aa":1};
json.push(kid1);
var kid2 ={"bb":2};
json.push(kid2);
.....
[解决办法]
<script type="text/javascript">
var json = [{"day":"1969-12-31","sum":10},{"day":"1969-12-30","sum":20},{"day":"1969-12-29","sum":30},{"day":"1969-12-28","sum":15},{"day":"1969-12-27","sum":26},{"day":"1969-12-26","sum":33},{"day":"1969-12-25","sum":18}];
var chartData = [];
$.each(json,function(i,e){
alert(e.day);
alert(e.sum);
});
</script>
看看这个 引入jquery ,用each循环json数组。
[解决办法]
这个应该是for循环有点问题吧,少了{}