Explication détaillée de l'utilisation de base de json en python

高洛峰
Libérer: 2017-02-23 16:48:33
original
1499 Les gens l'ont consulté

Lorsque vous utilisez json en Python, vous utilisez principalement le module json. json est un bon format pour l'interaction des données, donc dans de nombreux cas, le format de données json peut être utilisé comme interface entre les programmes.

#!/usr/bin/env python 
#-*- coding:utf-8 -*- 
import json 
 
print json.load(open('kel.txt')) 
#deserialize string or unicode to python object 
j = json.loads(open('kel.txt').read(),encoding='utf-8') 
print type(j),j 
for i in j: 
  print i 
k = json.dumps(j,encoding='utf-8').decode('utf-8') 
print k
Copier après la connexion

Le contenu du fichier kel.txt est le suivant :

{ 
  "中文":"kel", 
  "fist":"kel" 
}
Copier après la connexion


Les résultats d'exécution sont les suivants :

{u'\u4e2d\u6587': u'kel', u'fist': u'kel'} 
<type &#39;dict&#39;> {u&#39;\u4e2d\u6587&#39;: u&#39;kel&#39;, u&#39;fist&#39;: u&#39;kel&#39;} 
中文 
fist 
{"\u4e2d\u6587": "kel", "fist": "kel"}
Copier après la connexion

Les principales méthodes utilisées sont json .loads et json.dumps

Notez que les paramètres dansloads doivent être des chaînes, donc lors de l'ouverture du fichier, vous devez utiliser la méthode read, sinon une erreur se produira.

La méthodeloads est principalement utilisée pour charger des données json dans des objets en python, tandis que la méthode dumps est principalement utilisée pour modifier des objets python au format json.

a commencé à rencontrer une erreur comme suit :

[root@python 56]# python kel.py  
Traceback (most recent call last): 
 File "kel.py", line 5, in <module> 
  json.load(open(&#39;kel.txt&#39;)) 
 File "/usr/local/python/lib/python2.7/json/__init__.py", line 291, in load 
  **kw) 
 File "/usr/local/python/lib/python2.7/json/__init__.py", line 339, in loads 
  return _default_decoder.decode(s) 
 File "/usr/local/python/lib/python2.7/json/decoder.py", line 364, in decode 
  obj, end = self.raw_decode(s, idx=_w(s, 0).end()) 
 File "/usr/local/python/lib/python2.7/json/decoder.py", line 382, in raw_decode 
  raise ValueError("No JSON object could be decoded") 
ValueError: No JSON object could be decoded
Copier après la connexion

La raison principale est que,,, dans les données json format Il doit commencer par des guillemets doubles. Le mauvais fichier json est le suivant :

 { 
  "fist":&#39;kel&#39; 
}
Copier après la connexion

Le contenu de kel.py est le suivant :

 #!/usr/bin/env python 
#-*- coding:utf-8 -*- 
import json 
j = json.loads(open(&#39;kel.txt&#39;).read()) 
print type(j),j
Copier après la connexion

Guillemets doubles. . . Je n'arrive pas à faire la différence entre les guillemets simples.

Parfois, lors de l'exécution de la méthodeloads, une chaîne avec des guillemets simples est générée. . . C’est particulièrement vrai en python. Cela n’a rien à voir avec d’autres choses, il s’agit principalement de guillemets ! ! !

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'apprentissage de chacun. J'espère également que tout le monde soutiendra le site Web PHP chinois.

Pour des explications plus détaillées sur l'utilisation de base de json en python, 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