【Python快速上手(二十四)】-Python3 JSON数据解析

目录

  • Python快速上手(二十四)
    • Python3 JSON数据解析
      • 编码(序列化)
      • 解码(反序列化)
      • 读写JSON文件

Python快速上手(二十四)

Python3 JSON数据解析

在Python 3中,使用JSON(JavaScript Object Notation)是一种方便的方式来处理和交换数据。JSON是一种轻量级的数据交换格式,易于阅读和编写,常用于Web应用程序和API之间的数据交换。Python 3中提供了内置的json模块,用于处理JSON数据的编码(序列化)和解码(反序列化)。

Python 编码为 JSON 类型转换对应表:

PythonJSON
dictobject
list, tuplearray
strstring
int, float, int- & float-derived Enumsnumber
Truetrue
Falsefalse
Nonenull

JSON 解码为 Python 类型转换对应表:

JSONPython
objectdict
arraylist
stringstr
number (int)int
number (real)float
trueTrue
falseFalse
nullNone

编码(序列化)

编码是将Python对象转换为JSON格式的过程。json模块提供了json.dumps()方法来将Python对象编码为JSON字符串。

import json

# Python对象
data = {
    'name': 'Alice',
    'age': 30,
    'is_student': False,
    'courses': ['Math', 'Science']
}

# 编码为JSON字符串
json_string = json.dumps(data)
print(json_string)

在上面的示例中,我们定义了一个Python字典data,然后使用json.dumps()方法将其编码为JSON字符串。输出结果将是一个符合JSON格式的字符串。

解码(反序列化)

解码是将JSON格式的数据转换为Python对象的过程。json模块提供了json.loads()方法来将JSON字符串解码为Python对象。

import json

# JSON字符串
json_string = '{"name": "Bob", "age": 25, "is_student": true, "courses": ["History", "English"]}'

# 解码为Python对象
data = json.loads(json_string)
print(data)

在上面的示例中,我们定义了一个JSON格式的字符串json_string,然后使用json.loads()方法将其解码为Python对象。输出结果将是一个Python字典。

读写JSON文件

除了编码和解码JSON数据,json模块还提供了方便的方法来读写JSON文件。

import json

# 写入JSON文件
data = {
    'name': 'Charlie',
    'age': 35,
    'is_student': True,
    'courses': ['Art', 'Music']
}

with open('data.json', 'w') as file:
    json.dump(data, file)

# 读取JSON文件
with open('data.json', 'r') as file:
    data = json.load(file)
    print(data)

在上面的示例中,我们使用json.dump()方法将Python对象写入到JSON文件中,然后使用json.load()方法从JSON文件中读取数据并转换为Python对象。

  • 20
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值