首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JS 怎的将json格式数据写入数组

2013-09-05 
JS 怎样将json格式数据写入数组json数据格式如下:[{day:1969-12-31,sum:10},{day:1969-12-30,s

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);
});

------解决方案--------------------


引用:
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数组。
[解决办法]
引用:
Quote: 引用:


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"
});


不好用啊!
这个返回的 chartData 我是写在success:function(data){这里的}
data就是我前面说的json格式数据。把这些数据转换成
var chartData = [
{
country: "12-25",
visits: 18,
color: "#FF0F00"
},
{
country: "12-26",
visits: 33,
color: "#FF0F00"
}
……]
这种格式的。


这个应该是for循环有点问题吧,少了{}

热点排行