掘金 人工智能 23小时前
苦练Python第36天:Python的JSON数据处理指南
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了Python内置的json模块,帮助开发者快速掌握JSON数据的读写与解析。JSON作为一种轻量级数据格式,广泛应用于API、配置和数据库等场景。文章演示了如何使用json.loads()将JSON字符串转换为Python字典,以及json.dumps()将Python对象序列化为JSON字符串。此外,还讲解了如何通过indent参数优雅地打印JSON,以及如何与文件进行交互,读取和写入JSON数据。文中还提供了JSON与Python类型对照表,并演示了异常处理和抓取在线API数据的实战应用。

📦 JSON是一种轻量级数据格式,其结构与Python的字典和列表相似,非常易于理解和使用。

🐍 Python内置的`json`模块提供了强大的工具来处理JSON数据。`json.loads()`用于将JSON字符串反序列化为Python对象(通常是字典或列表),而`json.dumps()`则用于将Python对象序列化为JSON字符串。

📄 在文件操作方面,`json.load()`可以从JSON文件中读取数据并将其转换为Python对象,`json.dump()`则可以将Python对象写入JSON文件,`indent`参数可以实现JSON数据的格式化输出,提高可读性。

💡 JSON与Python的数据类型之间存在直接的映射关系,例如JSON的`object`对应Python的`dict`,`array`对应`list`,`string`对应`str`,`number`对应`int/float`,`true/false`对应`True/False`,`null`对应`None`。

⚠️ 在处理JSON数据时,可能会遇到解析错误。可以使用`try-except`块结合`json.JSONDecodeError`来捕获和处理这些异常,确保程序的健壮性。文中还通过抓取在线API数据演示了JSON的实际应用。

前言

大家好,我是倔强青铜三。欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!

欢迎来到 Python 百日冲刺第 36 天

今天,我们把目光投向现实世界最通用的数据语言——JSON。API、配置、数据库,处处都有它的身影。五分钟掌握 Python 内置 json 模块,读写解析一气呵成!


📦 JSON 是什么?

JSON(JavaScript Object Notation)是一种轻量级数据格式,长得像 Python 的字典和列表:

{  "name": "Alice",  "age": 30,  "skills": ["Python", "Data Science"]}

📚 Python 自带神器:json 模块

import json

📥 JSON → Python(反序列化)

json.loads() 把 JSON 字符串变成字典:

import jsonjson_str = '{"name": "Alice", "age": 30, "skills": ["Python", "Data Science"]}'data = json.loads(json_str)print(data["name"])  # Aliceprint(type(data))    # <class 'dict'>

📤 Python → JSON(序列化)

json.dumps() 把 Python 对象变 JSON 字符串:

person = {    "name": "Bob",    "age": 25,    "skills": ["JavaScript", "React"]}json_data = json.dumps(person)print(json_data)

📝 优雅打印 JSON

indent 一键格式化:

print(json.dumps(person, indent=2))

📁 从文件读取 JSON

with open('data.json', 'r') as file:    data = json.load(file)print(data["name"])

💾 把 JSON 写进文件

with open('output.json', 'w') as file:    json.dump(person, file, indent=4)

🔁 JSON ↔ Python 类型对照表

JSONPython
Objectdict
Arraylist
Stringstr
Numberint/float
true/falseTrue/False
nullNone

🧨 异常处理

解析失败时用 try-except 捕获:

try:    data = json.loads('{"name": "Alice", "age": }')  # 非法 JSONexcept json.JSONDecodeError as e:    print("解析出错:", e)

✅ 实战:抓取在线 API 数据

import requestsimport jsonresponse = requests.get("https://jsonplaceholder.typicode.com/users")users = response.json()for user in users:    print(user['name'], '-', user['email'])

🛠️ 今日总结

任务函数
JSON → Pythonjson.loads()
Python → JSONjson.dumps()
读文件json.load()
写文件json.dump()

最后感谢阅读!欢迎关注我,微信公众号倔强青铜三。欢迎点赞收藏关注,一键三连!!!

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Python JSON 数据处理 API
相关文章