首页 > 编程语言 > 详细

python学习笔记06:json操作

时间:2020-05-10 18:44:18      阅读:40      评论:0      收藏:0      [点我收藏+]

json就是一串字符串(json只有双引号;字典是单引号)

1.字典转成json

 1 import json
 2 # json模块作用:python的数据类型和json相互转换的
 3 d = {key1: v1, key2: v2, key3:  v3, name: 小明}
 4 
 5 # 字典转成字符串(json)
 6 json_str = json.dumps(d, indent=4, ensure_ascii=False)  #indent缩进字符,为了看着直观;ensure_ascii显示中文
 7 print(json_str)
 8 
 9 # 将字典转成json写入文件--dumps和dump
10 # dumps:先用dumps转成json,再写入文件
11 json_str = json.dumps(d, indent=4, ensure_ascii=False)
12 with open(u1.json, w, encoding=utf-8) as f:
13     f.write(json_str)
14 
15 # dump:直接用dump转成json写入文件
16 with open(u1.json, w, encoding=utf-8) as f:
17     json.dump(d, f, indent=4, ensure_ascii=False)

 2.json转成字典

 1 import json
 2 
 3 json_str = """
 4 {
 5     "key1": "v1",
 6     "key2": "v2",
 7     "key3": " v3",
 8     "name": "小明"
 9 }
10 """
11 
12 # 字符串(json)转成字典
13 dic = json.loads(json_str) 
14 print(dic)
15 
16 # 读文件里的json再转成字典--loads和load
17 # loads:先读文件,再用loads传字符串,转字典
18 with open(u2.txt, encoding=utf-8) as f:
19     content = f.read()
20     print(json.loads(content))
21 
22 # load:直接用load传文件(自动做了一次读文件),转成字典
23 with open(u2.txt, encoding=utf-8) as f:
24     result = json.load(f)
25     print(result)

json转成字典报错

 1 # 若json格式不合法,报错
 2 json_str = """
 3 {
 4     ‘key1‘: "v1",
 5     "key2": "v2",
 6     "key3": " v3",
 7     "name": "小明"
 8 }
 9 """
10 dic = json.loads(json_str)
11 print(dic)
12 # 查看json格式是否正确,网站校验:bejson.com

报错如下图:

技术分享图片

校验json格式

技术分享图片

 

python学习笔记06:json操作

原文:https://www.cnblogs.com/zhangxiaowai/p/12845736.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!