为什么json.dump()没有以\ n结尾?

时间:2019-02-15 19:48:50

标签: python json

使用Python的json模块进行序列化时,dump函数不会在行末添加换行符:

import json


data = {'foo': 1}
json.dump(data, open('out.json', 'w'))

我们可以使用wc进行确认:

$ wc -l out.json
0 out.json

为什么这样做?考虑到:

1 个答案:

答案 0 :(得分:5)

序列化的JSON只是文本序列,而不是文本文件,并且不需要文本序列以换行符结尾,因此json.dump方法可以正确产生输出而无需附加白色JSON对象本身边界之外的空格字符。在许多情况下,例如通过套接字发送JSON对象(如@deceze在注释中所指出的那样),则完全不需要换行符,因此由调用方决定尾随的换行符是否适合该应用程序