我最近一直在使用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做呢?
答案 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
结尾,这意味着数据全部都在一行上。