在javascript中,可以使用转化函数“JSON.stringify()”来将数组转为json格式,语法格式“JSON.stringify(数组)”;该函数可以对数组或对象进行转换,然后返回包含JSON文本的字符串。

 

总结:我们定义的是一种对象的格式,var data = {} 是 var data = new Object() 的缩写,JSON.stringify() 不能转自定义下标的数组,可以转0 1 2 那种下标的数组,当然那可能不是你想要的。

javascript数组转JSON格式
要点1:转化函数 JSON.stringify()
要点2:在js里写数组的时候是var data = new Array() 但是你如果是要转json显示的时候就要写成 var data = {},不然转出来的json全是空的。
先看一种错误格式:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

<script>

    //定义一个数组

    var data = new Array();

    for (var i = 0; i < 5; i++) {

  

    //定义一个二维数组

    data[i] = new Array();

  

    data[i]['day'] = '2018-06-01';

    data[i]['time_data'] = '数据';

    }

  

    //打印数组

    console.log(data);

  

    //转换json打印

    var res = JSON.stringify(data);

    console.log(res);

  

</script>

 

效果:
 
 
 
 
 
 
正确格式:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

<script>

    //定义一个数组 这里我们吧new Array()换成{}的形式

    var data = {};

 

    for (var i = 0; i < 5; i++) {

 

//定义一个二维数组

data[i] = {};

 

data[i]['day'] = '2018-06-01';

data[i]['time_data'] = '数据';

    }

 

    //打印数组

    console.log(data);

 

    //转换json打印

    var res = JSON.stringify(data);

    console.log(res);

 

</script>

结果:

总结:可以看出,其实我们定义的是一种对象的格式,var data = {} 是 var data = new Object() 的缩写,JSON.stringify() 不能转自定义下标的数组,可以转0 1 2 那种下标的数组,当然那可能不是你想要的。