如何用“\ r \ n”结束JSON文件?

时间:2017-04-20 20:20:58

标签: python json

我最近一直在使用python中的JSON文件来完成一项任务,有一件事我还不清楚,但我已经达到了必须解决的问题:

  

与服务器的通信是通过TCP套接字完成的,交换以字符\ r \ n结尾的JSON对象。

我有一个问题:如何在python中以这种方式制作我的JSON文件? 以下是一些简单JSON对象创建的代码:

json.dumps({'test': 'EXAMPLE'}, sort_keys=True, indent=4)

sort_keys用于项目中的其他练习。该对象并不以\ r \ n结尾。

总的来说,我需要帮助:

以“r \ n”结尾的内容在JSON方面意味着什么?它会如何影响文件本身?

谢谢你,祝你有个美好的一天。 我怎么用Python做呢?

1 个答案:

答案 0 :(得分:1)

\r是一种表达回车字符的方法 - 一种控制信号,它将光标发送回行的开头。 \n是一个换行符 - 一个将光标向下发送到下一行的信号。

在DOS和Windows上,\r\n(又名CRLF)是结束一行文本的传统方式。据推测,这意味着您的软件应该在一行上写一个JSON文档,然后是DOS / Windows风格的换行符。

socket.write(json.dumps({'test': 'EXAMPLE'}, sort_keys=True) + '\r\n')

请注意,此处未指定indent=4,因为为None设置indent以外的任何值意味着您希望将数据拆分为多个(缩进) )行 - 如果你的格式以\r\n结尾,这意味着数据全部都在一行上。