¿Cómo eliminas recursivamente objetos anidados que contienen una matriz vacía?
nicialmente recibo una respuesta AJAX de{"B":{"1":"100","3":{"AA":256}},"A":100}
y convertido a un objeto javascript:
var jsonOBJ = {};
jsonOBJ = jQuery.parseJSON(data);
Las respuestas futuras pueden ser subconjuntos o superconjuntos de la respuesta inicial. Si el valor de una tabla no se modifica en el servidor, los datos estancados se reemplazan con una matriz vacía. Ejemplo
{"B":{"1":"90","2":200,"3":[]}}
{"B":[],"A":20}
Cada vez que se recibe una respuesta AJAX, el objeto se actualiza con:
jQuery.extend(true, jsonOBJ, jQuery.parseJSON(data));
Pero necesito el objeto javascript para mantener las partes sin cambios, así que necesito terminar con un objeto que sería equivalente al siguiente con las respuestas de ejemplo anteriores:
jsonOBJ = jQuery.parseJSON('{"B":{"1":"90","2":200,"3":{"AA":256}},"A":20}');
Mi opción preferida sería eliminar los objetos vacíos de la respuesta convertida. ¿Existe una función existente o una modificación a la función de extensión jQuery que haría esto?