我在用邮递员发送邮件数据。在发布数据之后,我在request.body
中接收到的I body是
{
"title": "Kill Bill: Vol. 2","content":
"http://netflixroulette.net/api/posters/60032563.jpg\n\nabcdefrefbqwejf\n\nq efjqwefqwrf aksks"
}
我想要json.loads
尸体。但是,我的json中有新行字符。在
所以,我首先将\n
替换为\\n
,然后再做{\n
替换为\\n
之后,我收到的字符串是:
然后当我做json.loads
时,它会导致错误。这是因为在字符串的开头和其他不同的位置也有新行字符。在
你知道我该怎么治疗吗?在
似乎您正在替换实际的换行符'\n',而不是文本“\n”。在
如果要删除内容中的换行字符串“\n”,并将其替换为实际的换行符,请尝试将“\\n”替换为“\n”(即,反之亦然)。在
后续回答
我的理解是这样的:
看看你的第一行和第二行
request.body
实际上在第一行的末尾有一个换行符(
^{pr2}$'\n'
)。我们看不到它,因为可以这么说,它正在被解释。它是许多不可打印字符之一,当被各种程序(例如文本编辑器/查看器)看到和解释时,这些字符会影响格式。您最初尝试的是替换您在.json主体中看到的"\n"
部分。这些:问题是反斜杠
'\'
用于转义普通字符和访问特殊的、不可打印的字符。因此,通过要求将'\n'
替换为'\\n'
,实际上是用字符串"\\n"
替换换行符。你可以看到你想要改变的是,"\n\n"
仍然存在,取而代之的是新的"\n"
开始出现(也就是说,这就是你的问题)。在这有助于我记住在这些情况下,如何打印换行符字符串,使其不被解释为换行符,而是显示为
"\n"
而不是like这个(无形的,实际上是一个休息)。要打印出这个字符串,您需要让解释器/文本编辑器理解您实际上希望打印
'\'
字符,而不是后续转义字符。因为'\'
表示后续的转义命令,所以它有自己的转义符号,即它本身。也就是说,要在格式化字符串中显示一个'\'
,可以将它放两次,就像这样"\\"
。因此,即使它看起来像你需要把它格式化成
让它看起来像那样。在
相关问题 更多 >
编程相关推荐