¿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?

Respuestas a la pregunta(4)

Su respuesta a la pregunta