Python 发送邮件中格式化显示 json 数据

____tz_zs

我想要在邮件中格式化显示 json 数据。

1、 格式化 json 为字符串

使用 json.dumps() 函数,将 json 对象的数据转为字符串格式;设置 indent 参数能将 json 字符串换行缩进,格式化显示。如下:

import json

a = {"a": 1, "b": 2}
b = json.dumps(a, indent=4)
print(b)
"""
{
    "a": 1,
    "b": 2
}
"""

2、保持字符串原有格式

而在收到的邮件中,缩进消失了,我想要保持字符串中原有的换行和缩进格式。
有以下两种方式:
(1)使用

 标记定义预格式化的文本,保留标签内文字的原始编排,也就是对空白字元包括换行符号都不做任何处理。
被包围在
 标签元素中的文本通常会保留空格和换行符,文本也会呈现为等宽字体。
 标签的一个常见应用就是用来表示计算机的源代码。

    换行
				缩进
    换行

(2) css 样式中设置 white-space: pre;,空白会被浏览器保留。(未测试是否在邮件中生效)

white-space: pre-line;空格修剪为单个空格或

white-space: pre-wrap;保留所有空白

参考

请问如何在html中输出字符串中的换行符

你可能感兴趣的:(#,综合)