当前位置:首页 >> 脚本专栏

python dumps和loads区别详解

这篇文章主要介绍了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:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。