142

チームJSONという変数にあるJSONファイルから読み取ったJSON形式のオブジェクトがあります。これは次のようになります。

 {"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に関する良い答えを探しましたが、このケースを完全にカバーするものはありません。どんな助けでも大歓迎です。

4

5 に答える 5

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

配列の特定の位置に追加したい人は誰でもこれを試してください:

parse_obj['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"}]}"

上記のコード ブロックは、2 番目の要素の後に要素を追加します。

于 2016-03-10T07:22:54.943 に答える
2

最初に JSON オブジェクトを解析する必要があり、それから項目を追加できます。

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

var obj = JSON.parse(str);
obj['theTeam'].push({"teamId":"4","status":"pending"});
str = JSON.stringify(obj);

最後に、objをJSON.stringifyして JSON に戻します。

于 2017-12-06T08:16:29.907 に答える