Python-json.dumps\dump

import json

#1.json.dumps() ---对象--->字符串
#(1)列表
# list1=[1,2,3,4]
# str_list1=json.dumps(list1)
# print(list1,type(list1))#<class 'list'>
# print(str_list1,type(str_list1))#<class 'str'>

#(2)元组
# tuple1=('a','b','c','d')
# str_tuple=json.dumps(tuple1)
# print(tuple1,type(tuple1))
# print(str_tuple,type(str_tuple))# '["a", "b", "c", "d"]'  <class 'str'>
#
# #(2.1)逆操作
# data_obj=json.loads(str_tuple)
# print(type(data_obj))#<class 'list'>

#(3)字典
# dict = {"name":"lori","age":29,"sex":"男"}
# str_dict=json.dumps(dict,ensure_ascii=False)
# print(str_dict,type(str_dict))
# '{"name": "lori", "age": 29, "sex": "\u7537"}' <class 'str'>

#注意:
# json.dumps()序列化时默认使用ascii编码,添加参数:ensure_ascii=False,按照utf-8
#json.dumps()---将python对象---->字符串 --逆操作--json.loads() #字符串--->python对象(列表,字典)
#json.dump() -对象---》字符串,写到文件,从内存到硬盘-它的逆操作--json.load()#硬盘---》内存 从文件当中读取---字符串生成python对象

#格式json.dump(数据,文件,ensure_ascii=False)
# 参数:文件:open(文件名,读写方式,编码方式)
dict = {"name":"lori","age":29,"sex":"男"}
str_dict=json.dump(dict,open('user_info.json','w',encoding='utf-8'),ensure_ascii=False)
print(str_dict,type(str_dict))

#读取文件
with open('user_info.json','r',encoding='utf-8') as f:
    content=f.read()
    print(type(content),content)#<class 'str'> {"name": "lori", "age": 29, "sex": "男"}
    #根据内容生成对象
    obj=json.loads(content)
    print(type(obj))#<class 'dict'>
    #根据文件生成对象
    fp=json.load(open('user_info.json','r',encoding='utf-8'))
    print(type(fp),fp)#<class 'dict'> {'name': 'lori', 'age': 29, 'sex': '男'}

/Library/Frameworks/Python.framework/Versions/3.6/bin/python3.6 /Users/apple/PycharmProjects/stage4/spider/2018_3_12/02dumps&dump.py
None <class 'NoneType'>
<class 'str'> {"name": "lori", "age": 29, "sex": "男"}
<class 'dict'>
<class 'dict'> {'name': 'lori', 'age': 29, 'sex': '男'}


Process finished with exit code 0

猜你喜欢

转载自blog.csdn.net/zbrj12345/article/details/80316537