这篇文章主要介绍了python dumps和loads区别详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
一.概念理解
json是一种轻量级的数据交换格式,对象由花括号括起来的逗号分割的成员构成,成员是字符串键和上文所述的值由逗号分割的键值对组成,如:
{"name":"cctester","age":30,"address":{"country":"china","province":"nanjing"}}
json.dumps()和json.loads()是python中的json格式处理函数(可以这么理解,json是字符串)
(1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)
(2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)
二.实例解释
#encoding=utf-8 import json #json.dumps()函数的使用,将字典转化为字符串 dict1 = {'name':'聚焦学院','age':6} json_info = json.dumps(dict1,ensure_ascii=False) print ('dict1的类型:'+str(type(dict1))) #dict1的类型:<type 'dict'> print ('json_info的类型:'+str(type(json_info))) #json_info的类型:<type 'str'> print (json_info) #{"age": 6, "name": "聚焦学院"} new_dict=json.loads(json_info) print (type(new_dict)) #<type 'dict'>
通过上述的实例,我们可以清楚的看到json字符串和字典数据类型的转变,上述为啥使用jsom.dumps使用ensure_ascii=False呢,这是因为json.dumps序列化时对中文默认使用的ascii编码,想输出真正的中文需要指定ensure_ascii=False:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。