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

我有一个从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"}]}

在写回文件之前。什么是添加到新元素的好方法?我接近了,但是所有的双引号都被转义了。我一直在寻找一个很好的答案,但是没有一个案例能解决这个问题。任何帮助表示赞赏。


萧十郎
浏览 4685回答 3
3回答

波斯汪

JSON只是一种表示法;进行所需的更改parse,以便可以将更改应用于本机JavaScript对象,然后stringify返回JSONvar 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"}]}"

达令说

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"}]}"上面的代码块在第二个元素之后添加一个元素。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript