是这个意思?
var data=obj.data;
for(var k in data){
console.log(k);//猎神OL_安卓
var arr=data[k];
for(var i=0;i<arr.length;i++){
var o=arr[i];
console.log(o.countOfNewUsers);//countOfNewUsers的值
}
}
var data=obj.data;
for(var k in data){
console.log(k);//猎神OL_安卓
var arr=data[k];
for(var i=0;i<arr.length;i++){
var o=arr[i];
console.log(o.countOfNewUsers);//countOfNewUsers的值
}
}
{
"data": {
"猎神OL_安卓": [
{
"gameId": 10,
"promptChannelId": null,
"countOfNewUsers": 100,
"startDate": null,
"endDate": null,
"createdDate": "2014-06-05",
"hourSpanType": 0,
"proportion": null,
"showedTimePattern": "00:00~~01:00"
},
{
"gameId": 10,
"promptChannelId": null,
"countOfNewUsers": 100,
"startDate": null,
"endDate": null,
"createdDate": "2014-06-05",
"hourSpanType": 1,
"proportion": null,
"showedTimePattern": "01:00~~02:00"
}
]
}
var data={
"data": {
"猎神OL_安卓": [
...
这样是可以获取到值,需要得到所有的值怎么办?在for循环里控制台可以输出所有的k值,可是在for之外怎么获取让函数返回所有的值
所以可以先提取出来d = {
"data": {
"猎神OL_安卓": [
{
"gameId": 10,
"promptChannelId": null,
"countOfNewUsers": 100,
"startDate": null,
"endDate": null,
"createdDate": "2014-06-05",
"hourSpanType": 0,
"proportion": null,
"showedTimePattern": "00:00~~01:00"
},
{
"gameId": 10,
"promptChannelId": null,
"countOfNewUsers": 100,
"startDate": null,
"endDate": null,
"createdDate": "2014-06-05",
"hourSpanType": 1,
"proportion": null,
"showedTimePattern": "01:00~~02:00"
}
]
}
};
a = [];
for(k in d.data) a.push(k);
alert(a);到使用的时候
p = d.data[a[0]][1].countOfNewUsers
"data": {
"一组": [
{
"gameId": 10,
"promptChannelId": null,
"countOfNewUsers": 100,
"startDate": null,
"endDate": null,
"createdDate": "2014-06-05",
"hourSpanType": 0,
"proportion": null,
"showedTimePattern": "00:00~~01:00"
},
{
"gameId": 10,
"promptChannelId": null,
"countOfNewUsers": 100,
"startDate": null,
"endDate": null,
"createdDate": "2014-06-05",
"hourSpanType": 1,
"proportion": null,
"showedTimePattern": "01:00~~02:00"
}
]
"二组": [
{
"gameId": 10,
"promptChannelId": null,
"countOfNewUsers": 100,
"startDate": null,
"endDate": null,
"createdDate": "2014-06-05",
"hourSpanType": 0,
"proportion": null,
"showedTimePattern": "00:00~~01:00"
},
{
"gameId": 10,
"promptChannelId": null,
"countOfNewUsers": 100,
"startDate": null,
"endDate": null,
"createdDate": "2014-06-05",
"hourSpanType": 1,
"proportion": null,
"showedTimePattern": "01:00~~02:00"
}
]
}
};数据是这样的,按照这样的方式 a = []; for(k in d.data) a.push(k); 取出值并且放到数组中。
这些数据是通过highcharts 作为图表数据以折线图展示出来。它所需要的结构是这样的:
series: [
{
name: '一组',
data: [100, 100]
}, {
name: '一组',
data: [100, 200, ]
}
data 是countOfNewUsers 某条数据的集合,能通过js 把json格式数据 弄成这种结构的吗?
<html>
<head>
<title> New Document </title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<script type="text/javascript">
d = {
"data": {
"一组": [
{
"gameId": 10,
"promptChannelId": null,
"countOfNewUsers": 100,
"startDate": null,
"endDate": null,
"createdDate": "2014-06-05",
"hourSpanType": 0,
"proportion": null,
"showedTimePattern": "00:00~~01:00"
},
{
"gameId": 10,
"promptChannelId": null,
"countOfNewUsers": 100,
"startDate": null,
"endDate": null,
"createdDate": "2014-06-05",
"hourSpanType": 1,
"proportion": null,
"showedTimePattern": "01:00~~02:00"
}
],
"二组": [
{
"gameId": 10,
"promptChannelId": null,
"countOfNewUsers": 100,
"startDate": null,
"endDate": null,
"createdDate": "2014-06-05",
"hourSpanType": 0,
"proportion": null,
"showedTimePattern": "00:00~~01:00"
},
{
"gameId": 10,
"promptChannelId": null,
"countOfNewUsers": 100,
"startDate": null,
"endDate": null,
"createdDate": "2014-06-05",
"hourSpanType": 1,
"proportion": null,
"showedTimePattern": "01:00~~02:00"
}
]
}
};var series = [];var data = d.data;for(var key in data){
var arr = data[key];
var serieData = []; // 这里存放data for(var i in arr){
// 存放
serieData.push(arr[i].countOfNewUsers);
}
// 组装成对象
var serie = {name:key,data:serieData};
// 放进数组中
series.push(serie);
}// 这个就是了
console.log(series) </script>
</head> <body> </body>
</html>