js怎么给循环给json数组追加元素,json数组初始为空

如题所述

需要准备的材料分别是:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、以追加name元素为例,在index.html的<script>标签中,输入js代码:

var names = ['Alice', 'Bob'];

var json = [];

for (var i = 0; i < names.length; i++) {

json[i] = {'name' : names[i]};

}

document.body.innerText = JSON.stringify(json);

3、浏览器运行index.html页面,此时会打印出追加name元素后的json数组。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-06-20

需要准备的材料分别是:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、以追加name元素为例,在index.html的<script>标签中,输入js代码:

var names = ['Alice', 'Bob'];

var json = [];

for (var i = 0; i < names.length; i++) {

json[i] = {'name' : names[i]};

}

document.body.innerText = JSON.stringify(json);

3、浏览器运行index.html页面,会打印出追加name元素后的json数组。

本回答被网友采纳
第2个回答  2017-06-15

看不明白你要啥样子的样例,我给你的样例能操作Object 跟array,输入都是ascii码表的字符:

效果如下:

<script type="text/javascript" src="jquery/js/json2.js"></script>

<script type="text/javascript">

//依赖json2.js,网上可以找到

//要构建的json对象

var jsobObject = {};

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

if(!jsobObject[i]) {

//偶数构建成数组,奇数构建成对象

if(i % 2 == 0) {

jsobObject[i] = [];

}else{

jsobObject[i] = {};

}

}

//如果是数组则追加

if(jsobObject[i] instanceof Array) {

for(var j=0;j<128;j++) {

jsobObject[i].push(String.fromCharCode(j))

}

//否则对象有对象的复制防范

}else{

for(var j=0;j<128;j++) {

jsobObject[i][j] = String.fromCharCode(j);

}

}

}

//测试

var jsonStr = JSON.stringify(jsobObject);

console.log(jsobObject);

console.log(jsonStr);

console.log(jsobObject[2].join(","));

console.log(JSON.parse(jsonStr));

</script>

第3个回答  2015-12-02
var obj=JSON.parse(json);//先把json转换为对象
obj.key=value;
json=JSON.stringify(obj);//再转换回来

 希望可以帮到你

追问

我是想循环给json数组追加内容,初始的时候json肯定为空

追答

你把obj.key和value循环赋值就好了

追问

首先我定义一个json对象var jsonstr={};
var jsonarray = eval('('+jsonstr+')');可是这样报错我就不能用push了

第4个回答  2018-06-02
var o = [];
for(var i=0; i<10; i++){
    o.push({});
    o.id = i;
}

相似回答