json串反转义(消除反斜杠)
json字符串的值中包含反斜杠
{"image": "imageUrl","sku": "A301","name": "无痕直发接发片24\"化纤高温丝发帘-2#自然黑","status": "有货"
}
其实它在字符串里面是这样显示的
String s = "{\"image\":\"imageUrl\",\"sku\":\"A301\",\"name\":\"无痕直发接发片24\\\"化纤高温丝发帘-2#自然黑\",\"status\":\"有货\"}"
JSON.parseObject("{\"image\":\"imageUrl\",\"sku\":\"A301\",\"name\":\"无痕直发接发片24\\\"化纤高温丝发帘-2#自然黑\",\"status\":\"有货\"}", Test.class);
执行JSON解析会报如下错误:
com.alibaba.fastjson.JSONException: unclosed.str.lits
at com.alibaba.fastjson.parser.JSONLexerBase.readString(JSONLexerBase.java:4892)
at com.alibaba.fastjson.parser.JSONScanner.scanFieldString(JSONScanner.java:1012)
at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:567)
at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.parseRest(JavaBeanDeserializer.java:1576)
at com.alibaba.fastjson.parser.deserializer.FastjsonASMDeserializer_1_BaiduSearchImageInfoVO.deserialze(Unknown Source)
at com.alibaba.fastjson.parser.deserializer.JavaBeanDeserializer.deserialze(JavaBeanDeserializer.java:284)
at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:688) at com.alibaba.fastjson.JSON.parseObject(JSON.java:396)
at com.alibaba.fastjson.JSON.parseObject(JSON.java:300)
at com.alibaba.fastjson.JSON.parseObject(JSON.java:573)
StringEscapeUtils.unescapeJava(s)
public void test_11(){try {String s = "{"image":"imageUrl","sku":"A301","name":"无痕直发接发片24\"化纤高温丝发帘-2#自然黑","status":"有货"}";System.out.println(s);String s1 = StringEscapeUtils.unescapeJava(s);System.out.println("s1:" + s1);String s2 = StringUtility.toJsonString(s1);System.out.println("s2:" + s2);} catch (Exception e) {e.printStackTrace();}}
得出结果如下:
s:{"image":"imageUrl","sku":"A301","name":"无痕直发接发片24\"化纤高温丝发帘-2#自然黑","status":"有货"}
s1:{"image":"imageUrl","sku":"A302","name":"无痕直发接发片24"化纤高温丝发帘-2#自然黑","status":"有货"}
s2:{"image":"imageUrl","sku":"A303","name":"无痕直发接发片24”化纤高温丝发帘-2#自然黑","status":"有货"}
这样就达到去除反斜杠的效果了, 从而执行 JSON.parseObject("{"image":"xxx.jpg","sku":"A301","name":"IPhone11\"5G","status":"有货"}", Test.class) 也不会报错了
json串反转义(消除反斜杠)相关推荐
- 文件路径:反斜杆和正斜杠用法
以前在写到读取文件的代码时,经常要用到文件的路径,而每次让我有点搞的糊涂的就是斜杠的用法,又是正斜杠又是反斜杠的,还有双斜杠的,经常要经过几次调试才能正确的把文件的路径弄对,究其原因,主要是每次都没有 ...
- js字符类型 转义符\ 打印斜杠 打印特殊字符
不多BB <!--数据类型:字面量的类型js中总共六种String 字符串Number 数值Boolean 布尔值Null 空值Undefined 未定义Object 对象 --> < ...
- Java项目Json字符串转对象,去斜杠
1.通过前端存储到数据库的json对象都会带转义符,而普通的json转对象再强转对象是有问题的,这时候就需要我们通过fastJson来完成去除转义符,转成json对象,这样就不会报错了. 2.通过fa ...
- 斜杠'/' 和反斜杠'\'
斜杠'/'和反斜杠'\' 2019-1-21 引言:从大一进入信息专业,正式接触计算机.代码也有几年了.一开始迷迷糊糊学Ascii码,很多特殊字符都需要转义,比如换行符\n,自那时起我就拎不清转义符是 ...
- 【C#】读取Excel中嵌套的Json对象,Json带斜杠的问题(其三)
除了上一篇中提到的对字符串的字符替换操作,去掉Json中的转义符反斜杠\之外,还发现了更加简单的办法. 就是使用Newtownsoft.Json序列化Json时,将嵌套的Json对象(字符串)转为JO ...
- linux sed 转义斜杠,sed命令中转义正斜杠[duplicate]
使用Bash和SED我试图用URL替换js文件中的两个字符串 当我运行.sh脚本时,应该插入的两个url是输入参数 ./deploy.sh https://hostname.com/a/index.h ...
- json串反转义(消除反斜杠)-- 转载
JSon串在被串行化后保存在文件中,读取字符串时,是不能直接拿来用JSON.parse()解析为JSON 对象的.因为它是一个字符串,不是一个合法的JSON对象格式.例如下面的JSON串保存在文件中 ...
- json转义问题(消除反斜杠及{}外面多余的“)
使用fastjson的Json.toJsonString()方法时出现多余反斜杠 {"data":"{\"models\":[{\"name ...
- json串消除反斜杠\的方法
json转成jsonString的时候,在scala代码里如果序列化的话,最终落盘到HDFS上的数据, 如果本身是spring boot的项目,由于spring打包时会序列化一次, 所以相当于json ...
最新文章
- php绝对路径与相对路径之间关系的的深入研究
- 行内框可以修改的尺寸
- Kafka:常用命令
- java 调用casperjs_Java程序去调用并执行shell脚本及问题总结(推荐)
- 学习Coding-iOS开源项目日志(二)
- SQL优化器原理 - Auto Hash Join
- 被劝退的准中年人日记——劝退后第一天
- 冲刺一团队五亲亲精英队
- 用递归求字符串的全组合
- react + antd table +hooks 如何实现表格序号自增 翻页后序号不从1开始算起
- teamviewer一直验证账户_苹果手机下载软件一直需要验证
- android 360锁屏清除,“打盹”省电 360清理大师锁屏清理早已实现
- NK-RTU980 USB bulk传输
- 自由职业接单,大平台,有保障
- 联想y7000p怎么开启高性能模式?
- 怎样把经纬度坐标转换为空间直角坐标
- 云计算技术基础【4】
- AST的一次简单尝试
- 闲置电视盒子不要扔!搭建Blynk物联网服务器,太香了!
- 字节跳动技术新人培训全记录:校招萌新成长指南