BoBuo 发表于 2022-3-1 23:04

Python实例记录----JSON文件保存

本帖最后由 BoBuo 于 2022-3-2 09:55 编辑

import json

str = '''
[{
    "name": "Bob",
    "gender": "male",
    "birthday": "1992-10-18"
}, {
    "name": "Selina",
    "gender": "female",
    "birthday": "1995-10-18"
}]
'''# json数据中的键,值都需要用双引号括起来
print(type(str))# str
data = json.loads(str)# loads方法将JSON文本字符串转为JSON对象
print(data)
print(type(data))# list

print(data['name'])
print(data.get('name'))
print(data.get('age'))# None如果数据中不存在该键名返回None
print(data.get('age', 25))# get中可传入第二个参数,如果键名返回None,则返回传入的第二个参数

# 从JSON文本中读取内容
with open('data.json', encoding='utf-8') as file:# open方法读取文本文件,使用的是默认的读模式,编码指定为utf-8,赋值给file
    str = file.read()# 再读取赋值给str
    data = json.loads(str)# loads解析
    print(data)

data = json.load(open('data.json', encoding='utf-8'))# load方法参数是文件操作对象,loads方法的参数是json字符串
print(data)

# 输出JSON
with open('data.json','w',encoding='utf-8') as file:
    file.write(json.dumps(data,indent=2,ensure_ascii=False))
    # 利用dumps方法将JSON对象转换为字符串写入文本,indent参数代表缩进字符的个数,格式清晰,如果文本中带有中文,指定参数ensure_ascii=False,使其以中文格式保存
json.dump(data,open('data.json','w',encoding='utf-8'),indent=2,ensure_ascii=False)

kafei000 发表于 2022-3-1 23:47

纠正:json.dump(data,open('data.json','w',encoding='utf-8'),indent=2,ensure_ascii=False)

BoBuo 发表于 2022-3-2 08:34

kafei000 发表于 2022-3-1 23:47
纠正:json.dump(data,open('data.json','w',encoding='utf-8'),indent=2,ensure_ascii=False)

感谢纠正    {:301_978:}

seed41268 发表于 2022-3-2 00:09

基础玩家何处学起才能看懂代码

xlinux 发表于 2022-3-2 07:24

留个记号

X6Ti-S 发表于 2022-3-2 08:52

用处不大留个爪印改明在看

我今天是大佬 发表于 2022-3-2 09:07

感谢楼主分享

ricky2196 发表于 2022-3-2 10:01

多谢分享!学习了

13729181580 发表于 2022-3-2 11:49

多谢分享

lll333lll20 发表于 2022-3-2 13:57

基础且有用,感谢分享
页: [1] 2
查看完整版本: Python实例记录----JSON文件保存