开发者

Python中JSON数据处理的完整指南

目录
  • jsON 是什么
  • python 自带神器:json模块
  • JSON → Python(反序列化)
  • Python → JSON(序列化)
  • 优雅打印 JSON
  • 从文件读取 JSON
  • 把 JSON 写进文件
  • JSON ↔ Python 类型对照表
  • 异常处理
  • 实战:抓取在线 API 数据
  • 今日总结

JSON 是什么

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

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

Pytho编程客栈n 自带神器:json模块

import json

JSON → Python(反序列化)

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

import json

json_str = '{"name": "Alice", "age": 30, "skills": ["Python", "Data Science"]}编程客栈'
data = json.loads(json_str)

print(data["name"])  # Alice
print(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"]javascript)

把 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": }')  # 非法 JSON
except json.JSONDecodeError as e:
    print("解析出错:", e)

实战:抓取在线 API 数据

import requests
import json

response = 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()

到此这篇关于Python中JSON数据处理的完整指南的文章就介绍到这了,更多相关Python JSON数据处理内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新开发

开发排行榜