json中的Python`\n`

2024-06-07 08:08:13 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用邮递员发送邮件数据。在发布数据之后,我在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之后,我收到的字符串是:

^{pr2}$

然后当我做json.loads时,它会导致错误。这是因为在字符串的开头和其他不同的位置也有新行字符。在

你知道我该怎么治疗吗?在


Tags: 数据字符串jsonhttp邮递员titlerequest邮件
1条回答
网友
1楼 · 发布于 2024-06-07 08:08:13

似乎您正在替换实际的换行符'\n',而不是文本“\n”。在

如果要删除内容中的换行字符串“\n”,并将其替换为实际的换行符,请尝试将“\\n”替换为“\n”(即,反之亦然)。在

后续回答

我的理解是这样的:

看看你的第一行和第二行request.body

{
  "title": "Kill Bill ....

实际上在第一行的末尾有一个换行符('\n')。我们看不到它,因为可以这么说,它正在被解释。它是许多不可打印字符之一,当被各种程序(例如文本编辑器/查看器)看到和解释时,这些字符会影响格式。您最初尝试的是替换您在.json主体中看到的"\n"部分。这些:

^{pr2}$

问题是反斜杠'\'用于转义普通字符和访问特殊的、不可打印的字符。因此,通过要求将'\n'替换为'\\n',实际上是用字符串"\\n"替换换行符。你可以看到你想要改变的是,"\n\n"仍然存在,取而代之的是新的"\n"开始出现(也就是说,这就是你的问题)。在

这有助于我记住在这些情况下,如何打印换行符字符串,使其不被解释为换行符,而是显示为"\n"而不是like

这个(无形的,实际上是一个休息)。要打印出这个字符串,您需要让解释器/文本编辑器理解您实际上希望打印'\'字符,而不是后续转义字符。因为'\'表示后续的转义命令,所以它有自己的转义符号,即它本身。也就是说,要在格式化字符串中显示一个'\',可以将它放两次,就像这样"\\"。因此,即使它看起来像

  ... 3.jpg\n\nab\n\nq ...

你需要把它格式化成

  ... 3.jpg\\n\\nab\\n\\nq ...

让它看起来像那样。在

相关问题 更多 >

    热门问题