小编典典

python中的json.dump()和json.dumps()有什么区别?

all

我在这个官方文档中搜索了python中的
json.dump() 和 json.dumps() 之间的区别。很明显,它们与文件写入选项有关。
但是它们之间的详细区别是什么?在什么情况下一个比另一个更有优势?


阅读 60

收藏
2022-08-19

共1个答案

小编典典

除了文档说的内容之外,没有什么要补充的了。如果您想将 JSON 转储到文件/套接字或其他任何内容中,那么您应该使用dump().
如果您只需要它作为字符串(用于打印、解析或其他),请使用dumps()(dump string)

正如提到的,行为上有一些细微的差异ensure_ascii。这主要是由于底层write()函数是如何工作的,因为它对块而不是整个字符串进行操作。查看他的答案以获取更多详细信息。

json.dump()

将 obj 序列化为 JSON 格式的流到 fp(支持 .write() 的类文件对象

如果 ensure_ascii 为 False,则写入 fp 的一些块可能是 unicode 实例

json.dumps()

将 obj 序列化为 JSON 格式的 str

如果 ensure_ascii 为 False,则结果可能包含非 ASCII 字符,返回值可能是 unicode 实例

2022-08-19