📜  json 到 base64 python (1)

📅  最后修改于: 2023-12-03 15:32:25.063000             🧑  作者: Mango

将 JSON 数据编码为 Base64 字符串

在 Python 中,我们可以使用 base64 模块来将 JSON 数据编码为 Base64 字符串。首先,我们需要将 JSON 对象转换为字节数组,然后再使用 base64.b64encode() 方法进行编码。下面是一个简单的例子:

import json
import base64

# 将 JSON 对象转换为字节数组
data = {'name': 'John', 'age': 30}
json_data = json.dumps(data).encode('utf-8')

# 使用 base64 编码
base64_data = base64.b64encode(json_data)

# 打印编码后的字符串
print(base64_data)

输出结果:

b'eyJhZ2UiOiAzMCwibmFtZSI6IkpvaG4ifQ=='

在上面的例子中,我们首先将 JSON 对象转换为字节数组,这里使用了 json.dumps() 方法将 JSON 对象转换为 JSON 字符串,然后使用 encode() 方法将字符串转换为字节数组。接着,我们使用 base64.b64encode() 方法对数据进行编码。最后,我们打印编码后的字符串。

将 Base64 字符串解码为 JSON 数据

如果我们有一个 Base64 编码的字符串,需要将它解码成 JSON 对象,我们可以使用 base64.b64decode() 方法将字符串解码成字节数组,然后使用 json.loads() 方法将字节数组解析成 JSON 对象。下面是一个例子:

import json
import base64

# Base64 编码的字符串
base64_data = b'eyJhZ2UiOiAzMCwibmFtZSI6IkpvaG4ifQ=='

# 解码成字节数组
json_data = base64.b64decode(base64_data)

# 将字节数组解析成 JSON 对象
data = json.loads(json_data.decode('utf-8'))

# 打印 JSON 对象
print(data)

输出结果:

{'age': 30, 'name': 'John'}

在上面的例子中,我们首先将 Base64 编码的字符串解码成字节数组,然后使用 json.loads() 方法将字节数组解析成 JSON 对象。最后,我们打印解码后的 JSON 对象。

总结

本文介绍了如何将 JSON 数据编码为 Base64 字符串,并将 Base64 字符串解码为 JSON 数据。使用这种方式可以将 JSON 数据或对象转换为字符串或字节数组,便于数据的传输或存储。