Fork me on GitHub

json的操作

 1 import json
 2 # json的特点:所有的key都带双引号,value:除了数字和null没双引号外,其余都带双引号
 3 
 4 
 5 # 1.对象结构(单个json数据)
 6 # json以字符串的形式在python中
 7 # json格式的字符串:值有单独的null,这是json中的空
 8 # dict格式的字符串:值有None,这是python中的空
 9 data_json = '{"msg":"登录成功","code":"10001","data":null,"status":1}'
10 
11 # 不能使用eval(data_json)进行转换,因为有null会报错,除非将null用引号括起来“null”才可用eval函数
12 # 将json格式的字符串(单一的对象结构类似字典/复杂的嵌套字典的列表格式)转化为python中的字典类型(字典/嵌套字典的列表),用loads.
13 data_dict = json.loads(data_json, encoding='utf-8')
14 print(data_dict)
15 
16 
17 
18 # 将python中的字典类型/嵌套字典的列表转换为json格式的数据,用dumps
19 one_dict = {'name':'岁岁','age':20,'money':None}
21 one_json = json.dumps(one_dict,ensure_ascii=False)   # 转换为json时中文需要转换一下才可正常显示
22 print(one_json)
23 
24 
25 # 将文件中的json转换为python中的字典:
26 # json格式的数据已放在json_text.txt文件中:{'name':'岁岁','age':20,'money':None}
27 # 对文件进行操作:打开文件--读取文件--关闭文件
28 with open("json_text.txt", encoding="utf-8") as file:  # 默认为读,可省略不写
29    # json格式在文件中时,使用load将json转换为python中的字典
30     one_dict = json.load(file)
31     print(one_dict)
32     file.close()
33 
34 # 将嵌套字典的列表/字典写入到文件中:
35 # 这里以复杂的嵌套字典的列表为例
36 two_dict = [{"one":{'name':'','age':29,'money':None}},
37             {"two": {'name':'豆豆', 'age': 21, 'money': True}},
38             {"three": {'name': '欧可', 'age': 19, 'money': None}}]
39 # 对文件进行操作:打开文件--读取文件--关闭文件
40 with open("write_json.txt", mode="w", encoding="utf-8")as one_file:
41     # 将json格式的字典/嵌套字典的列表写入到文件用dump
42      json.dump(two_dict,one_file,ensure_ascii=False, indent=2) # indent缩键美化2格
43      one_file.close()

 

posted @ 2021-05-18 15:53  小尾巴-007  阅读(87)  评论(0)    收藏  举报