j2ee的web项目中什么是转义?你真的了解转义吗?

本文通过三个实例详细介绍了转义字符的使用场景与方法,包括Java字符串中的转义、HTML中的转义以及JSON字符串的转义处理,帮助读者理解何时及如何正确使用转义。


一、例子1:

我想把“A”原样(是“A”而不是A)放入一个字符串。

String a=" "A" ";

这样会出问题,要么java编译器报错,要么变量a中不是我想要的“A”。

这时候,就要使用转义。

String a=“\“A\””;

但是有人一直都理解错了,以为\的意思就是将其后的字符原样输出,其实错了,错在如下:

①\单独出现,没有任何意义。\"表示双引号,恰巧就是代表”,而不是将其后的“原样输出。

②java的转义字符,只有  \b \t \n \f \r \" \' \\ 8种。即\后也不能随便写东西,写了编译器会报错的。




二、例子2

在html中,如果使用大于号>,或者<,是不会按照自己的预想那样,显示>或者<,因为html会把其认为是html标签。

而要用转义符:






三、json字符串的转义

有如下字符串:

String result=XX // 打断点查看test的值是{  "data":" {"name":"jams"}" }

这不是一个标准的json格式。

ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.readTree(result);

编译是不会报错的,但是运行readTree这一句时,会报错,因为result不是一个标准的json字符串。

而将result进行部分转义后:

String result=XX // 打断点查看test的值是{  "data":" {\"name\":\"jams\"}" }

这样运行readTree这一句时,就不会报错。因为readTree认为其是一个标准的json串。

所以,这里转义,是转义给readTree方法看的。即readTree方法中考虑了转义字符,并对转义字符进行特殊看待。





总结:

转义符的意思是,当给java什么却不显示什么(或者说想显示什么,却显示不出来)的情况下,就要考虑使用转义字符。



所以,转义,是转给谁看的?

答:谁负责解析,就转给谁看。如java编译器、html解析器(即浏览器都自带html解析器)、json数据处理中的ObjectMapper类的readTree方法









评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值