入坑笔记一:json解析碰到空字符
来源:互联网 发布:网络时间同步协议 编辑:程序博客网 时间:2024/05/16 10:28
故事起因:项目马上交付,突然碰到个问题。对方接口返回的json数据后,我们解析报错,心里那个急啊。
故事经过:
Exception in thread "main" net.sf.json.JSONException: Unterminated string at character 18 of [{..
当时的错误没了,当时报的是29012行,控制台根本显示不了这么多行,定位不到是具体是哪个位置,后来想了个办法,用了substring 截取字符串,让其显示错误位置,那个地方有空格,当时很奇怪,也没多想,直接用replaceAll 清空所有空格。结果不行。东整西整,换了json的jar包,replaceAll \n\r 制表符,中文字符,但都没用。后来一位大神发现了问题。
说是空字符的问题,然后给了我一串代码,让我把解析之前执行这个函数
/** * 去除空字符 * @param str * @return */public static String convert(String str){byte[] bytes = new byte[str.getBytes().length];int pos = 0;for(byte b:str.getBytes()){if(b!=0){bytes[pos] = b;pos++;}System.out.println(new String(bytes));}return new String(bytes);}
故事结局:问题解决。
故事回顾:我后来找了一下,应该是空字符的问题,用replaceAll(" ","")是清除空格,不能清除空字符。
另:附 \n,空字符,\0的关系:
\0和\n在C语言中都是转义字符。
\0 表示空字符NULL,对应的ASCII码为0,通常用来表示字符串的结束标志;
\n 表示回车换行,对应的ASCII码为10,通常用在printf函数中,输出换行;
0 0
- 入坑笔记一:json解析碰到空字符
- ios json解析 碰到有转义字符的解决方法
- Json解析性能比较笔记(一)
- 解析JSON问题(一)包含特殊字符
- 《Scala入坑笔记》一、Scala简介
- [Linux]入坑笔记(一) 目录
- 入坑centos笔记(一)
- c#学习笔记(一):提交Json和解析Json
- 解析NULL 为 空字符
- JSON语法及其在android下的解析-->笔记一
- Android学习笔记(一)之解析本地json数据
- Springboot学习笔记(一)FastJson解析JSON数据
- json 特殊字符解析问题
- json无法解析的字符
- 在解析JSON数据时碰到的问题
- 解析Json(一)
- Json 数据解析一
- Gson解析Json 一
- P2P通信标准协议(一)之STUN
- iOS逆向 - dumpdecrypted工具砸壳
- ubuntu安装谷歌拼音输入法(fcitx输入法框架)
- C语言文件读写
- Effective Java读书笔记二(Java Tips.Day.2)
- 入坑笔记一:json解析碰到空字符
- 文章标题
- ICC副本>>>>(logback+flume+kafka+storm系统)
- P2P通信标准协议(二)之TURN
- 文字编辑距离代码实现
- PLMN概念和应用设置
- thinkphp 只在home中应用重定向 路由规则
- RxJava 进击的Rx
- 【Unity】Kinect实现UI控件的点击