1. ホーム
  2. javascript

[解決済み] JSONオブジェクトに新しい配列要素を追加する

2022-05-15 04:16:04

質問

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"}]}

というように、ファイルに書き戻す前に 新しい要素に追加する良い方法は何でしょうか?私は近くまで行きましたが、すべてのダブルクォートがエスケープされています。SOで良い答えを探したのですが、このケースをカバーしているものはありませんでした。どんな助けでも感謝します。

どのように解決するのですか?

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"}]}"