你必须会Python读写Json文件

文章介绍了Python中如何读取和写入JSON文件,包括使用json模块进行加载和序列化,以及JSON与Python数据类型的对应关系,强调了JSON作为轻量级数据交换格式的易用性和效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,要说的是,如果你从事Python开发、测试、运维,只要是你用Python来编写程序,那么读取Json一定是你必须学习的掌握的一门技术。在Python中读取Json是一件非常容易的事情,那究竟什么是JSON呢?

  • JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)

  • JSON 是轻量级的文本数据交换格式

  • JSON 独立于语言:JSON 使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。

  • JSON 具有自我描述性,更易理解

有的朋友可能对XML更加熟悉,那么JSON为什么比 XML 更好?可以说XML 比 JSON 更难解析。JSON 可以直接使用现有的 JavaScript 对象解析。针对 AJAX 应用,JSON 比 XML 数据加载更快,而且更简单。


读取JSON文件

假设我们有一个名称为Name.json的文件如下:


{"name": "tom","age":12, "home": "Beijing"}

通过key来读取Json中对应的value:


import json

with open('Name.json', 'r', encoding='utf-8') as f:

    obj = json.load(f)
    print(type(obj))        #  <class 'dict'>
    print(obj["name"])      # tom
    print(obj["age"])       # 12
    print(obj["home"])      # Beijing
    f.close()

写入JSON文件

现在,来创建一个类似JOSN的数据,并写入到Hobby.json文件中:


dic = {}
dic["name"] = "Peter"
dic["favorite"] = ['football', 'baskball']
with open('Hobby.json', 'w', encoding='utf-8') as f:
    json.dump(dic, f)
    f.close()

可以看到会生成一个Hobby.json


{"name": "Peter", "favorite": ["football", "baskball"]}

python类型转换为json

假设我们有一个字典类型的数据,现在将他转换为可以存储在Json文件中的数据类型:


dic = {"name": "Peter", "favorite": ["football", "baskball"]}
print(type(dic))        # <class 'dict'>
new = json.dumps(dic)
print(type(new))        # <class 'str'> 

json转换为python类型

首先我们创建一个json类型的字符串,将其转换为python类型:

dic = {"name": "Peter", "favorite": ["football", "baskball"]}
new = json.dumps(dic)        # 创建一个json类型字符串
print(type(new))             # <class 'str'>
json_data = json.loads(new)
print(type(json_data))       # <class 'dict'>

● 总结 ●

常用的json功能,总结如下:

 json与python数据类型的对应关系如下:

 

最后:下方这份完整的【软件测试】视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值