Python怎么读写JSON文件
发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇内容介绍了"Python怎么读写JSON文件"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!JSO
千家信息网最后更新 2026年11月04日Python怎么读写JSON文件
本篇内容介绍了"Python怎么读写JSON文件"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
JSON
JSON 起源
JSON 全称 JavaScript Object Notation 。是处理对象文字语法的 JavaScript 编程语言的一个子集。JSON 早已成为与语言无关的语言,并作为自己的标准存在。
JSON 样例
{ "data":[ { "id": "1", "name": "A同学", "state": "1", "createTime": "2020-01-21" }, { "id": "2", "name": "B同学", "state": "1", "createTime": "2020-01-21" }, { "id": "3", "name": "C同学", "state": "0", "createTime": "2020-01-21" } ]}Python 原生支持 JSON
Python 带有一个内置包 json,用于对 JSON 数据进行编码和解码。
引用方式。
import json
JSON 编码的过程通常称为序列化。该术语是指将数据转换为一系列字节通过网络存储或传输。反序列化是解码以 JSON 标准存储或交付的数据的交互过程。
序列化 JSON
直观的转换将简单的 Python 对象转换为 JSON。
| Python | JSON |
|---|---|
| dict | object |
| list,tuple | array |
| str | string |
| int, long,float | number |
| True | true |
| False | false |
| None | null |
简单的序列化示例
创建一个简单的数据。
data = { "data":[ { "id": "1", "name": "A同学", "state": "1", "createTime": "2020-01-21" }, { "id": "2", "name": "B同学", "state": "1", "createTime": "2020-01-21" }, { "id": "3", "name": "C同学", "state": "0", "createTime": "2020-01-21" } ]}数据直接以文本方式保存。
with open("data_file.json", "w") as f: json.dump(data, f)数据直接以字符串方式使用。
json_str = json.dumps(data)
JSON 反序列化
在 json 库中使用 load() 和 oads() 用于将 JSON 编码数据转换为 Python 对象。
| JSON | Python |
|---|---|
| object | dict |
| array | list |
| string | str |
| number(整数) | int |
| number(浮点数) | float |
| true | True |
| false | False |
| null | None |
简单的反序列化示例
读取写入json文件的数据。
with open("data_file.json", "r") as read_file: data = json.load(read_file)字符串数据。
json_string = """{ "data":[ { "id": "1", "name": "A同学", "state": "1", "createTime": "2020-01-21" }, { "id": "2", "name": "B同学", "state": "1", "createTime": "2020-01-21" }, { "id": "3", "name": "C同学", "state": "0", "createTime": "2020-01-21" } ]}"""data = json.loads(json_string)应用案例
通过互联网的数据抓取解析文本信息。
# 秦皇岛煤炭网微博import requestsfrom bs4 import BeautifulSoupimport datetimeurl = "http://news.cqcoal.com/manage/newsaction.do?method:webListPageNewsArchivesByTypeid"post_param = {'pageNum':'1','pageSize':'20','jsonStr':'{"typeid":"238"}'}return_data = requests.post(url,data =post_param)return_data = return_data.content.decode("utf-8")import jsonfor i in json.loads(return_data)["rows"]: title = i["title"] url = "http://news.cqcoal.com/blank/nc.jsp?mid="+str(i["id"]) timeStamp=int(i["pubdate"]) dateArray = datetime.datetime.utcfromtimestamp(timeStamp) date = dateArray.strftime("%Y-%m-%d") print(title,url,date)编码和解码
自定义数据。
import json# 基础的数字字典py_object = {"c": 0, "b": 0, "a": 0}# JSON 编码json_string = json.dumps(py_object)print(json_string)print(type(json_string)){"c": 0, "b": 0, "a": 0}# JSON 解码py_obj = json.loads(json_string)print(py_obj)print(type(py_obj)){'c': 0, 'b': 0, 'a': 0} 如果遇到 TypeError: Object of type SampleClass is not JSON serializable 的错误就需要自定义编码和解码了。
import jsonclass Student: def __init__(self, name, roll_no, address): self.name = name self.roll_no = roll_no self.address = address def to_json(self): ''' 将此类的实例转换为 json ''' return json.dumps(self, indent = 4, default=lambda o: o.__dict__)class Address: def __init__(self, city, street, pin): self.city = city self.street = street self.pin = pin address = Address("Bulandshahr", "Adarsh Nagar", "203001")student = Student("Raju", 53, address)# 编码student_json = student.to_json()print(student_json)print(type(student_json)){ "name": "Raju", "roll_no": 53, "address": { "city": "Bulandshahr", "street": "Adarsh Nagar", "pin": "203001" }}# 解码student = json.loads(student_json)print(student)print(type(student)){'name': 'Raju', 'roll_no': 53, 'address': {'city': 'Bulandshahr', 'street': 'Adarsh Nagar', 'pin': '203001'}} "Python怎么读写JSON文件"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
数据
同学
编码
序列
文件
对象
方式
语言
过程
内容
字符
字符串
文本
更多
标准
案例
知识
示例
存储
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
期待互联网科技
为想互联网科技
互联网科技股票
苏州互联网科技贷款公司
上游互联网科技
狮子座互联网科技培训
互联网科技美容
重庆科技学院互联网
金融科技和互联网金融
互联网科技素材视频竖屏
湖南洣水互联网科技有限公司扣款
玖二柒互联网科技公司待遇
剑昆互联网络科技有限公司临桂
洛阳昕诺飞互联网科技有限公司
深圳艾果互联网通讯科技
玉溪新华互联网科技好不好
长沙茂晟互联网科技有限公司
互联网公司高科技产品
广西泛欧互联网科技有限公司
武汉亿视互联网科技有限公司
科技互联网公司装修
与互联网科技公司
互联网 科技
互联网科技媒体
温州喔噻互联网科技有限公司
科技赋能视角下互联网保险发展
江苏互联网智能科技软件
上海乐五互联网科技有限公司
广东鹅鹅鹅互联网科技有限公司
恒生科技互联网指数十大成分股