迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 > Python >

在 Python 中将对象打印为 JSON

作者:迹忆客 最近更新:2022/09/20 浏览次数:

使用 json.dumps() 方法将对象打印为 JSON,例如 print(json.dumps(my_dict))json.dumps() 方法将 Python 对象转换为 JSON 格式的字符串。

import json

my_dict = {'id': 1, 'name': 'Jiyik'}

# ✅ Print object as JSON
json_str = json.dumps(my_dict)
print(json_str)  # 👉️ {"id": 1, "name": "Jiyik"}

# -------------------------------------------------

# ✅ Pretty print object as JSON
json_str = json.dumps(my_dict, indent=4)
# {
#     "id": 1,
#     "name": "Jiyik"
# }
print(json_str)

# -------------------------------------------------


# ✅ Print class instance as JSON
class Employee():
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary


bobby = Employee('jiyik', 100)

json_str = json.dumps(bobby.__dict__)
print(json_str)  # 👉️ {"name": "jiyik", "salary": 100}

python 将对象打印为json

我们使用 json.dumps() 方法将对象打印为 JSON。

json.dumps 方法将 Python 对象转换为 JSON 格式的字符串。

import json

my_dict = {'id': 1, 'name': 'Jiyik'}

json_str = json.dumps(my_dict)
print(json_str)  # 👉️ {"id": 1, "name": "Jiyik"}

print(type(json_str))  # 👉️ <class 'str'>

如果您有 JSON 字符串并且需要将其转换为原生 Python 对象,请使用 json.loads() 方法。

import json

my_dict = {'id': 1, 'name': 'Jiyik'}

json_str = json.dumps(my_dict)
print(json_str)  # 👉️ {"id": 1, "name": "Jiyik"}

native_obj = json.loads(json_str)
print(native_obj)  # 👉️ {'id': 1, 'name': 'Jiyik'}

json.loads 方法将 JSON 字符串解析为原生 Python 对象。

如果我们需要将对象漂亮地打印为 JSON,请在调用 json.dumps() 时将 indent 参数设置为 4。

import json

my_dict = {'id': 1, 'name': 'Jiyik'}

json_str = json.dumps(my_dict, indent=4)
# {
#     "id": 1,
#     "name": "Jiyik"
# }
print(json_str)

如果 indent 设置为非负整数,则 JSON 数组元素或对象成员将使用指定的缩进级别进行漂亮打印。


在 Python 中将类对象打印为 JSON

要将类对象打印为 JSON:

  1. 访问类实例的 __dict__ 属性。
  2. 将结果传递给 json.dumps() 方法。
  3. 使用 print() 函数打印对象的 JSON 表示。
import json


class Employee():
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary


jiyik = Employee('jiyik', 100)

json_str = json.dumps(jiyik.__dict__)
print(json_str)  # 👉️ {"name": "jiyik", "salary": 100}

默认的 JSONEncoder 类不能直接将类实例转换为 JSON,所以我们不得不在实例上使用 __dict__ 属性。

__dict__ 属性返回一个包含实例属性的字典,可以传递给 json.dumps() 方法。

import json


class Employee():
    def __init__(self, name, salary):
        self.name = name
        self.salary = salary


jiyik = Employee('jiyik', 100)
print(jiyik.__dict__) # 👉️ {'name': 'jiyik', 'salary': 100}

json_str = json.dumps(jiyik.__dict__)
print(json_str)  # 👉️ {"name": "jiyik", "salary": 100}

JSONEncoder 类默认支持以下对象和类型。

Python JSON
dict object
list, tuple array
str string
int, float, int and float derived Enums number
True true
False false
None null

注意 JSONEncoder 类默认不支持类实例到 JSON 的转换。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

Python for 循环中的下一项

发布时间:2023/04/26 浏览次数:179 分类:Python

本文讨论了 Python 中的 for 循环以及如何通过使用 for 循环和示例来跳过列表的第一个元素。

Python While 循环用户输入

发布时间:2023/04/26 浏览次数:148 分类:Python

我们可以在 while 循环中使用 input() 函数来输入数据,直到在 Python 中满足某个条件。

Python 中的整数规划

发布时间:2023/04/26 浏览次数:193 分类:Python

本文介绍了整数规划和可用于解决混合整数规划问题的 Python 工具。

在 Python 中将整数转换为罗马数字

发布时间:2023/04/26 浏览次数:87 分类:Python

本篇文章将介绍在 Python 中将整数转换为罗马数字。以下是一个 Python 程序的实现,它将给定的整数转换为其等效的罗马数字。

在 Python 中将罗马数字转换为整数

发布时间:2023/04/26 浏览次数:144 分类:Python

本文讨论如何在 Python 中将罗马数字转换为整数。 我们将使用 Python if 语句来执行此操作。 我们还将探讨在 Python 中将罗马数字更改为整数的更多方法。

在 Python 中读取 gzip 文件

发布时间:2023/04/26 浏览次数:70 分类:Python

本篇文章强调了压缩文件的重要性,并演示了如何在 Python 中使用 gzip 进行压缩和解压缩。

在 Python 中锁定文件

发布时间:2023/04/26 浏览次数:141 分类:Python

本文解释了为什么在 Python 中锁定文件很重要。 这讨论了当两个进程在没有锁的情况下与共享资源交互时会发生什么的示例,为什么在放置锁之前知道文件状态很重要,等等

在 Python 中将 PDF 转换为文本

发布时间:2023/04/26 浏览次数:196 分类:Python

在本教程中,我们将学习如何使用 Python 使用 PyPDF2、Aspose 和 PDFminer 将 PDF 文档转换为文本文件。

在 Python 中创建临时文件

发布时间:2023/04/26 浏览次数:53 分类:Python

本文讲解了tempfile库函数的四个子函数:TemporaryFile、NamedTemporaryFile、mkstemp、TemporaryDirectory。 每个部分都提供了适当的程序,以简化对概念的理解。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便