Maison > développement back-end > Tutoriel Python > Exemples d'utilisation du module Python json

Exemples d'utilisation du module Python json

高洛峰
Libérer: 2017-01-13 13:14:18
original
1203 Les gens l'ont consulté

En fait, JSON est la représentation sous forme de chaîne d'un dictionnaire Python, mais en tant qu'objet complexe, le dictionnaire ne peut pas être transféré directement, il doit donc être converti sous forme de chaîne. Le processus de conversion est également un processus de sérialisation. 🎜>

Utilisez json.dumps pour sérialiser au format de chaîne json

>>> import json
>>> dic {'Connection': ['keep-alive'], 'Host': ['127.0.0.1:5000'], 'Cache-Control': ['max-age=0']}
>>> jdict = json.dumps({'Connection': ['keep-alive'], 'Host': ['127.0.0.1:5000'], 'Cache-Control': ['max-age=0']})
>>> print jdict
{"Connection": ["keep-alive"], "Host": ["127.0.0.1:5000"], "Cache-Control": ["max-age=0"]}
Copier après la connexion
Bien que les chaînes imprimées par dic et jdict soient les mêmes, leurs types réels sont différents dic est un type de dictionnaire et jdict. est de type String

<type &#39;dict&#39;>
>>> type(jdic)
>>> type(jdict)
<type &#39;str&#39;>
Copier après la connexion
peut utiliser json.dumps pour sérialiser la liste au format de chaîne json

>>> list = [1, 4, 3, 2, 5] 
>>> jlist = json.dumps(list)
>>> print jlist
[1, 4, 3, 2, 5]
Copier après la connexion
les types list et jlist sont également différents

>>> type(list)
<type &#39;list&#39;>
>>> type(jlist)
<type &#39;str&#39;>
Copier après la connexion
json.dumps a les paramètres suivants :

json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)
Copier après la connexion
tri des clés

>>> print json.dumps({1:&#39;a&#39;, 4:&#39;b&#39;, 3:&#39;c&#39;, 2:&#39;d&#39;, 5:&#39;f&#39;},sort_keys=True)
{"1": "a", "2": "d", "3": "c", "4": "b", "5": "f"}
Copier après la connexion
alignement du format

>>> print json.dumps({&#39;4&#39;: 5, &#39;6&#39;: 7}, sort_keys=True, indent=4)
{
    "4": 5, 
    "6": 7
}
Copier après la connexion
spécifier le délimiteur


>>> json.dumps([1,2,3,{&#39;4&#39;: 5, &#39;6&#39;: 7}], separators=(&#39;,&#39;,&#39;:&#39;))
&#39;[1,2,3,{"4":5,"6":7}]&#39;
Copier après la connexion
Utilisez json.dump pour sérialiser en un objet fichier

>>> json.dump({&#39;4&#39;: 5, &#39;6&#39;: 7}, open(&#39;savejson.txt&#39;, &#39;w&#39;))
>>> print open(&#39;savejson.txt&#39;).readlines()
[&#39;{"4": 5, "6": 7}&#39;]
Copier après la connexion
Les paramètres json.dump sont similaires à json.dumps

json.dump(obj, fp, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)
Copier après la connexion
json.loads convertit les chaînes json Désérialiser en python object

La signature de la fonction est :

json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
Copier après la connexion
Notez que le "s" ici doit être une chaîne, et ce sera un caractère Unicode après désérialisation

>>> dobj = json.loads(&#39;{"name":"aaa", "age":18}&#39;)
>>> type(dobj)
<type &#39;dict&#39;>
>>> print dobj
{u&#39;age&#39;: 18, u&#39;name&#39;: u&#39;aaa&#39;}
Copier après la connexion
json.load est désérialisé du fichier dans un objet python

la signature est :

json.load(fp[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])
Copier après la connexion
Exemple :

>>> fobj = json.load(open(&#39;savejson.txt&#39;))
>>> print fobj
{u&#39;4&#39;: 5, u&#39;6&#39;: 7}
>>> type(fobj)
<type &#39;dict&#39;>
Copier après la connexion
Plus d'exemples d'utilisation du module Python json Pour des informations connexes articles, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal