2016-05-15 10 views
1

変数によって特定のjson要素を削除する方法:
つまり、変数obj.a.bを削除します。
これを実装する簡単な方法はありますか?変数でネストされたjson要素を削除する方法

var t = 'obj.a.b'; 
 
var obj = {a: {b: 'b', b2: 'b2'}}; 
 
delete t; // not work here 
 
console.log(JSON.stringify(obj));

答えて

1

あなたがtの値を信頼する場合は、このような動的なコードを実行するeval(...)機能を使用することができます。

var t = 'obj.a.b'; 
var obj = {a: {b: 'b', b2: 'b2'}}; 
eval("delete " + t + ";"); 
console.log(JSON.stringify(obj)); 

(注)の値を信頼することができない場合というt(例:ユーザーが指定した値)、攻撃者はtの悪意のある値を指定してコードを注入できます。 eval(...)を慎重に使用すると、コードインジェクション攻撃が発生しやすくなります。 This answerには、evalの使用方法と使用方法に関する良い議論があります。

関連する問題