为了账号安全,请及时绑定邮箱和手机立即绑定

向JSON对象添加新的数组元素

向JSON对象添加新的数组元素

萧十郎 2019-10-06 16:09:14
我有一个从JSON文件读取的JSON格式对象,该对象包含在一个名为teamJSON的变量中,如下所示: {"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"}]}我想向数组添加一个新项,例如{"teamId":"4","status":"pending"}最终{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"},{"teamId":"4","status":"pending"}]}在写回文件之前。什么是添加到新元素的好方法?我接近了,但是所有的双引号都被转义了。我一直在寻找一个很好的答案,但是没有一个案例能解决这个问题。任何帮助表示赞赏。
查看完整描述

3 回答

?
波斯汪

TA贡献1811条经验 获得超4个赞

JSON只是一种表示法;进行所需的更改parse,以便可以将更改应用于本机JavaScript对象,然后stringify返回JSON


var jsonStr = '{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"}]}';


var obj = JSON.parse(jsonStr);

obj['theTeam'].push({"teamId":"4","status":"pending"});

jsonStr = JSON.stringify(obj);

// "{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"},{"teamId":"4","status":"pending"}]}"

查看完整回答
反对 回复 2019-10-06
?
达令说

TA贡献1821条经验 获得超6个赞

var Str_txt = '{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"}]}';

如果要添加到最后一个位置,请使用以下命令:


var parse_obj = JSON.parse(Str_txt);

parse_obj['theTeam'].push({"teamId":"4","status":"pending"});

Str_txt = JSON.stringify(parse_obj);

Output //"{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"},{"teamId":"4","status":"pending"}]}"

如果要添加到第一个位置,请使用以下代码:


var parse_obj = JSON.parse(Str_txt);

parse_obj['theTeam'].unshift({"teamId":"4","status":"pending"});

Str_txt = JSON.stringify(parse_obj);

Output //"{"theTeam":[{"teamId":"4","status":"pending"},{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"3","status":"member"}]}"

任何想要在数组的特定位置添加的人都可以尝试以下操作:


fruits['theTeam'].splice(2, 0, {"teamId":"4","status":"pending"});

Output //"{"theTeam":[{"teamId":"1","status":"pending"},{"teamId":"2","status":"member"},{"teamId":"4","status":"pending"},{"teamId":"3","status":"member"}]}"

上面的代码块在第二个元素之后添加一个元素。


查看完整回答
反对 回复 2019-10-06
  • 3 回答
  • 0 关注
  • 4684 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号