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