logo

json.dumps() en Python

JSON est un acronyme qui signifie JavaScript Object Notation. Malgré son nom, JSON est un format indépendant du langage qui est le plus couramment utilisé pour transmettre des données entre systèmes et, parfois, stocker des données. Les programmes écrits en Python, ainsi que de nombreux autres langages de programmation, peuvent ingérer des données au format JSON et sérialiser les données en mémoire au format JSON. Python prend en charge JSON via un package intégré appelé json. Pour utiliser cette fonctionnalité, importez le package json dans le script ou le module Python dans lequel vous souhaitez sérialiser ou désérialiser vos données. JSON utilise des paires clé-valeur délimitées par des virgules, contenues entre guillemets doubles et séparées par des deux-points. Le corps d'un fichier JSON peut être délimité par des accolades { } ou des accolades [] (également appelées crochets dans certains paramètres régionaux). Le format JSON semble être similaire au dictionnaire en Python, mais les spécificités du format JSON présentent des différences significatives, soyez donc prudent lorsque vous travaillez avec les deux formats.

Note: Pour plus d'informations, reportez-vous à Lire, Écrire et analyser JSON à l'aide de Python



Json.dumps()

La fonction json.dumps() convertira un sous-ensemble d'objets Python en une chaîne json. Tous les objets ne sont pas convertibles et vous devrez peut-être créer un dictionnaire de données que vous souhaitez exposer avant de les sérialiser en JSON.

Syntaxe:
json.dumps(obj, *, skipkeys=False, Ensure_ascii=True, check_circular=True,allow_nan=True, cls=Aucun, indent=Aucun, séparateurs=Aucun, par défaut=Aucun, sort_keys=False, **kw)
Paramètres:
obj : Sérialiser obj en tant que flux au format JSON
sauter les touches : Si skipkeys est True (par défaut : False), alors les clés dict qui ne sont pas d'un type de base (str, int, float, bool, None) seront ignorées au lieu de déclencher une TypeError.
assurer_ascii : Si Ensure_ascii est True (valeur par défaut), il est garanti que tous les caractères non-ASCII entrants seront échappés dans la sortie. Si Ensure_ascii est False, ces caractères seront affichés tels quels.
check_circulaire : Si check_circular est False (par défaut : True), alors la vérification de référence circulaire pour les types de conteneurs sera ignorée et une référence circulaire entraînera une OverflowError (ou pire).
permettre à: Si allow_nan est False (par défaut : True), alors ce sera une ValueError pour sérialiser les valeurs flottantes hors plage (nan, inf, -inf) dans le strict respect de la spécification JSON. Si allow_nan est True, leurs équivalents JavaScript (NaN, Infinity, -Infinity) seront utilisés.
retrait : Si l'indentation est un entier ou une chaîne non négatif, alors les éléments du tableau JSON et les membres de l'objet seront joliment imprimés avec ce niveau d'indentation. Un niveau d'indentation de 0, négatif ou insérera uniquement des nouvelles lignes. Aucun (valeur par défaut) sélectionne la représentation la plus compacte. L’utilisation d’un nombre entier positif indente autant d’espaces par niveau. Si l'indentation est une chaîne (telle que ), cette chaîne est utilisée pour indenter chaque niveau.
séparateurs : S'ils sont spécifiés, les séparateurs doivent être un tuple (item_separator, key_separator). La valeur par défaut est (', ', ' : ') si le retrait est Aucun et (', ', ' : ') sinon. Pour obtenir la représentation JSON la plus compacte, vous devez spécifier (', ', ':') pour éliminer les espaces.
défaut: Si spécifié, default doit être une fonction qui est appelée pour des objets qui ne pourraient pas être sérialisés autrement. Il doit renvoyer une version codable JSON de l'objet ou générer une TypeError. S’il n’est pas spécifié, TypeError est déclenché.
clés_de_tri : Si sort_keys est True (par défaut : False), alors la sortie des dictionnaires sera triée par clé.

Exemple 1: Passer le dictionnaire Python à la fonction json.dumps() renverra une chaîne.



Python3




chaîne sous forme de tableau



import> json> # Creating a dictionary> Dictionary>=>{>1>:>'Welcome'>,>2>:>'to'>,> >3>:>'Geeks'>,>4>:>'for'>,> >5>:>'Geeks'>}> > # Converts input dictionary into> # string and stores it in json_string> json_string>=> json.dumps(Dictionary)> print>(>'Equivalent json string of input dictionary:'>,> >json_string)> print>(>' '>)> # Checking type of object> # returned by json.dumps> print>(>type>(json_string))>

>

>

Sortir

Chaîne json équivalente du dictionnaire : {1 : Bienvenue, 2 : à, 3 : Geeks, 4 : pour, 5 : Geeks}

Exemple n°2 : En définissant les skipkeys sur True (par défaut : False), nous ignorons automatiquement les clés qui ne sont pas de type basique.

Python3




import> json> Dictionary>=>{(>1>,>2>,>3>):>'Welcome'>,>2>:>'to'>,> >3>:>'Geeks'>,>4>:>'for'>,> >5>:>'Geeks'>}> # Our dictionary contains tuple> # as key, so it is automatically> # skipped If we have not set> # skipkeys = True then the code> # throws the error> json_string>=> json.dumps(Dictionary,> >skipkeys>=> True>)> print>(>'Equivalent json string of dictionary:'>,> >json_string)>

>

>

Sortir

Chaîne json équivalente du dictionnaire : {2 : à, 3 : Geeks, 4 : pour, 5 : Geeks}

Exemple n°3 :

Python3




import> json> # We are adding nan values> # (out of range float values)> # in dictionary> Dictionary>=>{(>1>,>2>,>3>):>'Welcome'>,>2>:>'to'>,> >3>:>'Geeks'>,>4>:>'for'>,> >5>:>'Geeks'>,>6>:>float>(>'nan'>)}> # If we hadn't set allow_nan to> # true we would have got> # ValueError: Out of range float> # values are not JSON compliant> json_string>=> json.dumps(Dictionary,> >skipkeys>=> True>,> >allow_nan>=> True>)> print>(>'Equivalent json string of dictionary:'>,> >json_string)>

>

>

Sortir :

Chaîne json équivalente du dictionnaire : {2 : à, 3 : Geeks, 4 : pour, 5 : Geeks, 6 : NaN}

Exemple n°4 :

Python3




import> json> Dictionary>=>{(>1>,>2>,>3>):>'Welcome'>,>2>:>'to'>,> >3>:>'Geeks'>,>4>:>'for'>,> >5>:>'Geeks'>,>6>:>float>(>'nan'>)}> # Indentation can be used> # for pretty-printing> json_string>=> json.dumps(Dictionary,> >skipkeys>=> True>,> >allow_nan>=> True>,> >indent>=> 6>)> print>(>'Equivalent json string of dictionary:'>,> >json_string)>

>

>

Sortir:

Equivalent json string of dictionary: { '2': 'to', '3': 'Geeks', '4': 'for', '5': 'Geeks', '6': NaN }>

Exemple n°5 :

Python3




import> json> Dictionary>=>{(>1>,>2>,>3>):>'Welcome'>,>2>:>'to'>,> >3>:>'Geeks'>,>4>:>'for'>,> >5>:>'Geeks'>,>6>:>float>(>'nan'>)}> # If specified, separators should be> # an (item_separator, key_separator)tuple> # Items are separated by '.' and key,> # values are separated by '='> json_string>=> json.dumps(Dictionary,> >skipkeys>=> True>,> >allow_nan>=> True>,> >indent>=> 6>,> >separators>=>(>'. '>,>' = '>))> print>(>'Equivalent json string of dictionary:'>,> >json_string)>

objet Java
>

>

Sortir:

Equivalent json string of dictionary: { '2' = 'to'. '3' = 'Geeks'. '4' = 'for'. '5' = 'Geeks'. '6' = NaN }>

Exemple n°6 :

Python3




import> json> Dictionary>=>{>'c'>:>'Welcome'>,>'b'>:>'to'>,> >'a'>:>'Geeks'>}> json_string>=> json.dumps(Dictionary,> >indent>=> 6>,> >separators>=>(>'. '>,>' = '>),> >sort_keys>=> True>)> print>(>'Equivalent json string of dictionary:'>,> >json_string)>

>

>

Sortir:

Equivalent json string of dictionary: { 'a' = 'Geeks'. 'b' = 'to'. 'c' = 'Welcome' }>