java replaceAll替换\的问题


字符串  String extendVal = "{\"className\":\"111\",\"flags\":[11],\"extras\":{\"state\":\"powerTransfer\"}}";  在Map<String,Object> objectMap = JSONObject.parseObject(extendVal,Map.class);时会失败,需去掉\

需要对  extendVal = extendVal.replaceAll("\\\\","");替换掉\再转Map<String,Object> objectMap = JSONObject.parseObject(extendVal,Map.class)

原因:

String 的 replaceAll()方法,采用的是正则表达式的规则匹配, 

四个\\\\  ,java解析为\\交给正则表达式,  正则表达式再经过一次转换,把\\转换成为\ 

这就是java里面要用正则来表示一个 \ 必须写成4个\


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM