Conversión entre el diccionario de python y json

La conversión de diccionario y json utiliza principalmente los siguientes métodos:

  • cargas (): convertir datos json en datos dict
  • dumps(): convertir datos dictados en datos json

Diccionario a datos json:

In [5]: import json                                                                                                                                                                                                                                                           

In [6]: dict = {'name':'mary','age':21}                                                                                                                                                                                                                                       

In [7]: type(dict)                                                                                                                                                                                                                                                            
Out[7]: dict

In [8]: j = json.dumps(dict)                                                                                                                                                                                                                                                  

In [9]: j                                                                                                                                                                                                                                                                     
Out[9]: '{"name": "mary", "age": 21}'

Cabe señalar aquí que si el diccionario contiene caracteres chinos al convertir a json, se producirán problemas de codificación , de la siguiente manera:

In [29]: staff = {'name':'权权','age':23,'sex':'女'}                                                                                                                                                                                                                          

In [30]: json.dumps(staff)                                                                                                                                                                                                                                                    
Out[30]: '{"name": "\\u6743\\u6743", "age": 23, "sex": "\\u5973"}'

Entonces, si hay chino, debemos agregar parámetros para el procesamiento:

In [31]: json.dumps(staff,ensure_ascii=False)                                                                                                                                                                                                                                 
Out[31]: '{"name": "权权", "age": 23, "sex": "女"}'

原因: Por lo general, cuando se solicita por correo, son datos json, pero si hay chino, hay un problema, porque el chino está codificado en Unicode, pero se analiza en ASCII de manera predeterminada. El chino no está en codificación ASCII, por lo que el chino no puede se mostrará.

Convertir datos json a diccionario:

In [25]: j                                                                                                                                                                                                                                                                    
Out[25]: '{"name": "mary", "age": 21}'

In [26]: result = json.loads(j)                                                                                                                                                                                                                                               

In [27]: result                                                                                                                                                                                                                                                               
Out[27]: {'name': 'mary', 'age': 21}

In [28]: type(result)                                                                                                                                                                                                                                                         
Out[28]: dict

Supongo que te gusta

Origin blog.csdn.net/quanqxj/article/details/89226160
Recomendado
Clasificación