使用Python的json模块进行序列化时,该dump函数不会在行尾添加换行符:
import json
data = {'foo': 1}
json.dump(data, open('out.json', 'w'))
Run Code Online (Sandbox Code Playgroud)
我们可以检查使用wc:
$ wc -l out.json
0 out.json
Run Code Online (Sandbox Code Playgroud)
它为什么这样做?考虑到:
wc如上图所示).序列化的JSON只是一个文本序列,而不是文本文件,并且不需要以换行符结束文本序列,因此该json.dump方法适用于生成输出,而JSON边界外没有额外的空格字符对象本身.在许多情况下,例如通过套接字发送JSON对象(如评论中的@deceze所指出的),换行完全没必要,因此由调用者决定尾随换行是否适合应用程序.