android json 换行符,前端传的换行符\n为何返回的json会直接换行报错

在前端向后台传递包含换行的文本字段时,遇到了JSON解析错误。原本的换行符' '在传输过程中未被正确转义,导致后台返回数据时丢失换行。为了解决这个问题,尝试了将换行符替换成其他字符并在接收端转换回来,但这种方法对于大量数据并不实际。最终,发现简单地将' '替换为' '即可确保数据在传输过程中的完整性,减少了工作量。这是一个关于前端与后端数据交互中字符转义的重要经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这次遇到一个小问题,但是头疼的解决了很久才弄好

前端传给后台一个字段是一段文本,有换行的文本

传的格式是这样的

test:'1\n2\n3'

但是在其他页面后台把这个字段返回的时候就成了这样

test:'

1

2

3'

直接换行的json数据会报错啊

后端说数据库里的数据是我传的格式,传过来这样,不是他的锅

好哒,这锅只有我接了,但是以前没遇到这种问题的宝宝简直心塞啊

后端还给我一个建议,传的时候把\n换成别的,接收的时候再转一遍

要是少量的地方我就算了,但是这个不是那么简单的事情啊,一大多的判断,还好几个页面都是这个问题,

我要的就是少写代码解决

最后另一位大神告诉小白,把\n换成\\n就可以了,接收的时候正常接收,不用再转义了

好,那就没问题了,虽然还是要改一些地方,但少做3/4的工作就算不错了

//把换行符换成\\n

function TransferString(content)

{

var string = content;

try{

string=string.replace(/\r\n/g,"\\n")

string=string.replace(/\n/g,"\\n");

}catch(e) {

alert(e.message);

}

return string;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值