Iは、最初{"B":{"1":"100","3":{"AA":256}},"A":100}
のAJAXの応答を受信するとJavaScriptオブジェクトに変換:空の配列を含む入れ子になったオブジェクトを再帰的に削除する方法はありますか?
var jsonOBJ = {};
jsonOBJ = jQuery.parseJSON(data);
将来の応答は、初期応答のサブセット又はスーパーセットであることができます。テーブルの値がサーバで変更されていない場合、停滞データは空の配列に置き換えられます。例:毎回AJAXの応答を受信する
{"B":{"1":"90","2":200,"3":[]}}
{"B":[],"A":20}
、オブジェクトがで更新されます。
jQuery.extend(true, jsonOBJ, jQuery.parseJSON(data));
しかし、私は変わらない部分を維持するためにはJavaScriptオブジェクトが必要なので、I上の例の応答では、次のようなオブジェクトで終わる必要があります。
jsonOBJ = jQuery.parseJSON('{"B":{"1":"90","2":200,"3":{"AA":256}},"A":20}');
私の好ましいオプションは、変換された応答から空のオブジェクトを削除することです。既存の関数またはこれを行うjQuery拡張関数の変更がありますか?
私はあなたがそれを定義する参照が、とき方法は存在しなかったでしょうか? – shaun5
@ shaun5 - 古いブラウザには 'Array.isArray()'が組み込まれていないので、既に存在する場合には置き換えずに定義されていることを確認します。 – jfriend00
@ shaun5 - 追加された作業jsFiddle:http://jsfiddle.net/jfriend00/U6qMH/ – jfriend00