Je suis en train de sérialiser plusieurs dictionnaires imbriqués dans JSON en utilisant Python avec simplejson.Exclure les valeurs vides/NULL de la sérialisation JSON
Existe-t-il un moyen d'exclure automatiquement les valeurs vides/nulles?
Par exemple, sérialiser:
{
"dict1" : {
"key1" : "value1",
"key2" : None
}
}
à
{
"dict1" : {
"key1" : "value1"
}
}
Lorsque vous utilisez Jackson avec Java, vous pouvez utiliser Inclusion.NON_NULL
pour ce faire. Y a-t-il un équivalent simplejson?
Em .... Cela produit 'RuntimeError: dictionnaire a changé la taille pendant l'itération' avec Python 3.5 –
' '' def del_none (d): "" " Supprimer les clés avec la valeur' 'None'' et la chaîne vide dans un dictionnaire, récursive. Cela ne modifie pas l'entrée, mais copie le dictionnaire. dictionnaires d'enfants sont également copiés. Aucun autre objets sont copiés. « » » = D.Copy rez() pour la clé, valeur d .items(): si la valeur est None ou value == '': del rez [clé] elif isinstance (valeur, dict): rez [clé] = del_none (valeur) return re z''' –
@AleksandrPanzin: J'ai mis à jour le code pour cibler Python 3 avec des notes pour Python 2. Ce * a été écrit il y a sept ans! Je l'ai laissé comme une modification sur place, cependant. –