2023-1-1速记
使用HttpUtil.doPost(url,reqData)方法对将json数据传给其他服务时出现键值对消失的情况,是因为在键值对中出现了特殊字符,如"%"。 在数据"intro":"危重病抢救成功率达98.84%,患者满意率达97.38%。"中出现了%,整个intro键值对消失,整的我头疼。将%更换为%25,即可恢复正常。
网址URL中特殊字符转义编码
字符 - URL编码值
空格 - %20
" - %22
# - %23
% - %25
& - %26
( - %28
) - %29
+ - %2B
, - %2C
/ - %2F
: - %3A
; - %3B
< - %3C
= - %3D
> - %3E
? - %3F
@ - %40
\ - %5C
| - %7C
当然也不是所有的特殊字符都会将键值对失效,比如+会在url转义过程中变成空格,所有,需要拿到数据使用replace()方法进行重新切换,将空格重新换成+
URL特殊字符转义,URL中一些字符的特殊含义,基本编码规则如下:
空格换成加号(+)
正斜杠(/)分隔目录和子目录
问号(?)分隔URL和查询
百分号(%)制定特殊字符
#号指定书签
&号分隔参数
本人觉得这个还是很有用的
如果需要在URL中用到,需要将这些特殊字符换成相应的十六进制的值
+ %2B
/ %2F
? %3F
% %25
# %23
& %26
资料来自:https://blog.csdn.net/p312011150/article/details/78928003