📌  相关文章
📜  Python|将字符串转换为 json 对象的方法(1)

📅  最后修改于: 2023-12-03 14:46:28.122000             🧑  作者: Mango

Python | 将字符串转换为 json 对象的方法

在 Python 中,我们经常需要在不同的应用程序、不同的服务器甚至不同的语言间传递数据。JSON (JavaScript Object Notation) 是一种常用的数据格式,它是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。本文将介绍如何将字符串转换为 JSON 对象。

什么是 JSON

JSON 是一种轻量级的数据交换格式,在 JavaScript 中借用了对象字面量的表示法。它由属性-值对组成,属性通过双引号包围,属性与值之间使用冒号分隔,属性-值对之间使用逗号分隔,而整个对象则使用花括号包围。

以下是一个基本的 JSON 示例:

{
  "name": "John",
  "age": 30,
  "city": "New York"
}

在 Python 中,我们可以使用内置的 json 模块将一个 JSON 字符串转换为 Python 对象(通常是字典或列表)。

将 JSON 字符串转换为 Python 对象

下面是一个将 JSON 字符串转换为 Python 对象的示例程序:

import json

# 定义一个 JSON 字符串
json_str = '{"name": "John", "age": 30, "city": "New York"}'

# 将 JSON 字符串转换为 Python 对象(通常是字典或列表)
data = json.loads(json_str)

# 输出转换后的 Python 对象
print(data)

以上程序(例如文件名为 json_to_python.py)执行后的输出结果如下:

{'name': 'John', 'age': 30, 'city': 'New York'}
将 JSON 对象转换为 Python 字符串

同样,我们可以使用 json 模块将 Python 对象(通常是字典或列表)转换为 JSON 字符串。下面是一个示例程序:

import json

# 定义一个 Python 字典
data = {'name': 'John', 'age': 30, 'city': 'New York'}

# 将 Python 字典转换为 JSON 字符串
json_str = json.dumps(data)

# 输出转换后的 JSON 字符串
print(json_str)

以上程序(例如文件名为 python_to_json.py)执行后的输出结果如下:

{"name": "John", "age": 30, "city": "New York"}

注意:

  • 如果 JSON 字符串不符合格式要求,会抛出异常;
  • 如果 Python 对象中包含了某些无法转换为 JSON 的类型,例如 datetime 对象,需要自定义一个 JSONEncoder
总结

本文介绍了如何将字符串转换为 JSON 对象,在 Python 中,我们可以使用内置的 json 模块将 JSON 字符串转换为 Python 对象(通常是字典或列表),同时我们也可以使用 json 模块将 Python 对象(通常是字典或列表)转换为 JSON 字符串。