Estoy serializando varios diccionarios anidados en JSON usando Python con simplejson.Excluir valores vacíos/nulos de la serialización JSON
¿Hay alguna manera de excluir automáticamente valores vacíos/nulos?
Por ejemplo, serializar esto:
{
"dict1" : {
"key1" : "value1",
"key2" : None
}
}
a
{
"dict1" : {
"key1" : "value1"
}
}
Al usar Jackson con Java puede utilizar Inclusion.NON_NULL
para hacer esto. ¿Hay un simple equivalente de Json?
Em .... Eso produce 'RuntimeError: tamaño de diccionario cambiado durante la iteración' con Python 3.5 –
' '' def del_none (d): "" " Eliminar claves con el valor' 'None'' y cadena vacía en un diccionario, de forma recursiva. Esto no altera de entrada, pero los ejemplares diccionario. diccionarios niño también se copian. no hay otros objetos se copian. """ rez = d.copy() para la clave, el valor de d .items(): si el valor es None o value == '': del rez [key] elif isinstance (value, dict): rez [key] = del_none (valor) return re z''' –
@AleksandrPanzin: He actualizado el código para apuntar a Python 3 con notas para Python 2. ¡Este * fue * escrito hace siete años! Sin embargo, lo dejé como una modificación en el lugar. –