json文件的读写

字符型到json型的转换

首先给出要处理的数据,数据为字符串型。

import json
# 一个json的字符串,注意里面的字段要用双引号而非单引号括起来
str = '''
[{
  "name":"Bob",
  "gender":"male",
  "birthday":"1992-10-18"
},{
   "name":"Selina",
   "gender":"female",
   "birthday":"1995-10-18"
},{
   "name":"张伟",
   "gender":"男",
   "birthday":"1999-12-30"
}]
'''

用json.loads()将字符串型的数据转为json型(json数据其实是一个列表,列表中的每个元素都是一个字典)

data = json.loads(str)  # 转为json类型的数据

json数据的访问

数据的访问方式,其实就是列表和字典的操作方式,字典的访问建议用get方法。

name = data[0]['name']         # 获取第一个用户的名字
# 尝试获取第一个用户的age,当不存在这个字段时返回参数-1
# 如果使用 age = data[0]['age'], 则会直接报错
age = data[0].get('age',-1) 

文件的写操作

# json文件的写操作
with open('data.json','w') as file:
    # 将json格式的数据写入文件中,参数indent表示缩进字符数
    # json.dumps将data转为json字符
    file.write(json.dumps(data, indent = 2))

文件的操作和txt的操作类似,需要注意的是编码方式的限定。其实json文件里面的内容和txt文件一样也是一长串的字符,将文件后缀名改为txt也是一样的。

# 如果数据中存在中文,则需要指定编码方式
with open('data.json', 'w', encoding='utf-8') as file:
    # 将ensure_ascii置为False
    file.write(json.dumps(data, indent=2, ensure_ascii = False))

文件的读操作

# json文件的读操作,注意打开文件时要指定编码方式为utf-8
with open('data.json','r', encoding='utf-8') as file:
    # 以字符的形式读取数据
    str = file.read()
    # 再将字符格式转为json格式
    data = json.loads(str)
    print(data)
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值