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个\