javascript - 删除 javascript 字符串中的制表符空格或换行符

标签 javascript jquery json

我有一个 JSON 文件,我正在获取其中可能包含新行的 json 内容。现在我面临一个问题。我收到以下错误:

Unexpected token ↵ in JSON at position 9

注意:错误消息特别指出这个符号:'↵'。这是什么意思?

我的 JSON:

{"T":". 
^00:00:43^2008-09-11 12:00:00.0"}

但是如果我删除新行(不确定它是新行还是制表符空间,无论我遇到什么问题,即使它是制表符空间或新行。它在正常空间下工作正常。)。下面是修改后的 JSON,看起来不错。

修改后的 JSON:

 {"T":".^00:00:43^2008-09-11 12:00:00.0"}

我尝试关注类似的线程,如 herehere 以及一些类似的线程。但即使在应用这些之后也没有任何效果。请在这里感谢任何帮助。

这是我尝试过的解决方案之一:

var jsonString = JSON.stringify(data).replace(/(\r\n|\n|\r)/gm,"");

有没有办法检测这些换行符和制表符空格并将其删除?

最佳答案

您不应该调用 JSON.stringify()。这会将字符串中的换行符转换为文字 \n,这不会与正则表达式中的转义序列匹配。直接对坏数据进行替换即可。

var data = `{"T":". 
^00:00:43^2008-09-11 12:00:00.0"}`;
var jsonString = data.replace(/(\r\n|\n|\r)/g,"");
var object = JSON.parse(jsonString);
console.log(object);

关于javascript - 删除 javascript 字符串中的制表符空格或换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48087905/

相关文章:

java - CouchDB:访问 _design View 或提取文档字段的替代方法是什么?

Javascript:选择元素的父级并将其隐藏

javascript - 如何调整 iframe 的大小以适应 iframe 内容的高度?

javascript - 当鼠标离开浏览器时停止保存到 JSON 文件

javascript - Aurelia 上带有 json 文件的箭头函数

javascript - Firefox DevTools 控制台中的 "Jump to definition"跳转到缩小的 JavaScript

javascript - async-await 只与 promises 一起使用吗?

javascript - (Scirra) 对数组的 AJAX 请求

java - Struts2 如何返回 JSON 响应

javascript - 位置 1 的 JSON 中的意外标记 u