提问人:Garrett Massman 提问时间:11/15/2023 最后编辑:Garrett Massman 更新时间:11/15/2023 访问量:32
如何使用 Javascript 解析 JSON 响应,以便不再转义换行符?[关闭]
How do I parse a JSON response with Javascript so newlines are no longer escaped? [closed]
问:
我的应用程序使用在 python 中内置的 JSON API。它将JSON编码的数据返回到前端,需要对其进行解析并显示给用户。下面是一个示例 API(省略安全详细信息):
curl -i 'http://localhost:5000/api`
HTTP/1.1 200 OK
Server: Werkzeug/2.3.7 Python/3.11.1
Date: Wed, 15 Nov 2023 01:28:09 GMT
Content-Type: application/json
Content-Length: 32
Connection: close
{"data": "this\\nis\\na\\ntest"}%
前端 Svelte 应用用于从后端检索数据。它处理 using 以使对象可用于应用程序:fetch()
Response.text()
JSON.parse()
const respText = await resp.text();
const respData = JSON.parse(respText);
> console.log(respData)
{data: 'this\\nis\\na\\ntest'}
这是我的问题:为什么不取消转义字符串中的换行符?我希望结果是 ,但相反,字符串包含后端发送的相同转义换行符。JSON.parse()
{data: 'this\nis\na\ntest'}
当我在Chrome DevTools中手动解析有效负载时,我看到了预期的结果:
> JSON.parse(`{"data": "this\\nis\\na\\ntest"}`)
{data: 'this\nis\na\ntest'}
为什么在我的应用程序中运行的代码的行为不同?这似乎是一个非常奇怪的行为。我将感谢任何人的建议或帮助来理解这个问题。我已经搜索了 stackoverflow 和 github,但找不到与此类似的问题。提前致谢!
答: 暂无答案
评论
\n
\n
在JSON中是完全有效的,并且表示换行符,正是您想要的!