X Tutup
Skip to content

Latest commit

 

History

History
151 lines (112 loc) · 3.29 KB

File metadata and controls

151 lines (112 loc) · 3.29 KB
title Python JSON 模块 - Python 速查表
description Python 内置 json 模块,可用于处理 JSON (JavaScript 对象表示法) 数据。
Python JSON 模块

JSON 代表 JavaScript Object Notation,是一种用于存储和传输数据的轻量级格式。当数据从服务器发送到网页时,通常使用 JSON。

Python 具有内置的 json 模块,它允许我们处理 JSON 数据。

import json

JSON 数据类型

JSON 对象类似于 Python 字典,但存在以下差异:

  • JSON 键始终是字符串。
  • 字符串始终用双引号括起来。
  • JSON 布尔值以小写字母开头。
  • null 是 Python None 的 JSON 等价物。

JSON 支持的数据类型有:

  • 字符串 (String)
  • 数字 (Number)
  • 布尔值 (boolean)
  • null
  • 对象 (Object)
  • 数组 (Array)

示例:

{
  "name": "Charles",
  "age": 33,
  "has_hair": false,
  "hobbies": ["photography", "running"],
  "appearance": {
    "eyes": "brown",
    "hair_color": null
  }
}

JSON loads() 方法

使用 json.loads 方法,您可以解析 JSON 对象并将其转换为 Python 字典:

import json

# 要解析的 JSON 字符串
json_person = '{"name": "Charles", "age": 33, "has_hair": false, "hobbies": ["photography", "running"]}'
# 将 JSON 字符串解析为 Python 字典
python_person = json.loads(json_person)
python_person
{'name': 'Charles', 'age': 33, 'has_hair': False, 'hobbies': ['photography', 'running']}
type(python_person)
<class 'dict'>
# 使用 get 方法访问字典值
python_person.get("name")
'Charles'

JSON dumps() 方法

反之亦然。dumps() 方法将 Python 对象转换为 JSON 字符串:

import json

# 要转换的 Python 字典
python_person = {'name': 'Charles', 'age': 33, 'has_hair': False, 'hobbies': ['photography', 'running']}
# 将 Python 对象转换为 JSON 字符串
json_person = json.dumps(python_person)

json_person
'{"name": "Charles", "age": 33, "has_hair": false, "hobbies": ["photography", "running"]}'
type(json_person)
<class 'str'>

读取和写入 JSON 文件

读取 JSON 文件

import json
# 读取 JSON 文件
with open("filename.json", "r") as f:
    json_content = json.loads(f.read())

# 注意:此行似乎是多余的 - json_content 已经被解析
json.loads(json_content)
{'name': 'Charles', 'age': 33, 'has_hair': False}

写入 JSON 文件

import json

person = {'name': 'Charles', 'age': 33}

# 将 Python 字典写入 JSON 文件
with open("filename.json", "w") as f:
    f.write(json.dumps(person))

相关链接

  • 备忘单:JSON 和 YAML
  • 备忘单:字典
  • 备忘单:读取和写入文件
  • 博客:Python 数据类型
  • dict()
  • str()
  • open()
X Tutup