在javascript json字符串中正确转义换行符
我在JavaScript中有一个很长的JSON字符串。它包含多个\n,需要在客户端上使用以下内容进行转义:在javascript json字符串中正确转义换行符,javascript,json,Javascript,Json,我在JavaScript中有一个很长的JSON字符串。它包含多个\n,需要在客户端上使用以下内容进行转义: replace(/\n/g, '\\n'); 现在的问题是,这个replace()在我不想要的JSON字符串末尾添加了一个额外的换行符(结果是我的拆分(“\n”)将产生一个额外的空的无效行。那么,我如何正确地处理这个问题呢?我如何在split(“\n”)时正确地转义该字符串而不破坏其结构最终是否仍能正常工作 当前的字符串结构类似于:“testdata\ntestdata\ntestda
replace(/\n/g, '\\n');
现在的问题是,这个replace()
在我不想要的JSON字符串末尾添加了一个额外的换行符(结果是我的拆分(“\n”)将产生一个额外的空的无效行。那么,我如何正确地处理这个问题呢?我如何在split(“\n”)时正确地转义该字符串而不破坏其结构
最终是否仍能正常工作
当前的字符串结构类似于:“testdata\ntestdata\ntestdata”等
编辑:编辑,因为我似乎没有提供足够的信息:
replace(/\n/g,'\\n');
,然后对其执行split(\n')。仅此而已我希望这能更好地解释我的问题。如果您只想拆分一个换行符分隔的字符串,则无需调用
replace
。下面的代码示例会修剪任何前导或尾随空格(包括换行符)并在\n
上拆分。请注意,trim
是在ECMAScript 5.1中添加的,在一些较旧的浏览器中不受支持。有关详细信息,请参阅此
函数splitNewlineSeparatedString{
返回s.trim().split(“\n”);
}
console.log(splitNewlineSeparatedString(“testdata\ntestdata\ntestdata\n\n”));
我们猜不出执行此操作的代码…您的代码在哪里?David Thomas:编辑过的帖子。没有代码标记的替换()params是错误的…为什么需要重新转义所有新行?目的是什么?听起来好像问题不在正则表达式中。结尾的新行从一开始就在那里。当你双重转义它时,你只是双重转义一个已经存在的新行。使用String.trim()
删除字符串开头和结尾的尾随空格(包括换行符)。更好的做法是从一开始就将JSON字符串作为数组发送。毕竟它是JSON。