开发中遇到的一些版本兼容问题-JsonObject
来源:互联网 发布:xvideos软件中文版下载 编辑:程序博客网 时间:2024/06/02 05:26
例子:
public void show(){ String str="\ufeff{\"code\":\"00\"}"; try {JSONObject job=new JSONObject(str);System.out.println(job.getString("code"));} catch (JSONException e) { e.printStackTrace();} }
低版本的json没有对BOM头( 字符\ufeff,经常遇到有服务器返回字符的时候出现这个)做处理,于是会出现:
org.json.JSONException: Value of type java.lang.String cannot be converted to JSONObject
高版本的json构造方法为:
public JSONObject(String json) throws JSONException { this(new JSONTokener(json));}public JSONTokener(String in) { // consume an optional byte order mark (BOM) if it exists if (in != null && in.startsWith("\ufeff")) { in = in.substring(1); } this.in = in;}
低版本的json构造方法为:
public JSONObject(String json) throws JSONException { this(new JSONTokener(json)); }public JSONTokener(String in) { this.in = in; }
故编写json解析类的时候需要注意加上\ufeff字符的处理,以便兼容低版本的手机系统。
如:
public void show(){ String str="\ufeff{\"code\":\"00\"}"; if(str!=null && str.startsWith("\ufeff")){ str=str.substring(1); } try {JSONObject job=new JSONObject(str);System.out.println(job.getString("code"));} catch (JSONException e) { e.printStackTrace();} }
0 0
- 开发中遇到的一些版本兼容问题-JsonObject
- 开发中遇到的一些版本兼容问题-setBackground
- MVC开发中遇到的--收藏本站火狐浏览器兼容问题
- H5开发的版本兼容问题
- 解决学习tensorflow的LSTM模型中遇到一个版本不兼容问题
- struts配置中遇到的不兼容问题
- 工作中遇到的几个浏览器兼容问题
- 软件开发中遇到的一些问题
- 开发过程中遇到的一些问题
- 开发ReportViewer中遇到的一些问题
- android开发中遇到的一些问题
- 开发ReportViewer中遇到的一些问题
- 游戏开发中遇到的一些问题
- xcode 开发中遇到的一些警告
- 开发ReportViewer中遇到的一些问题
- NDK开发中遇到的一些问题。
- android开发中遇到的一些bug
- iOS9 开发中遇到的一些问题
- 百度地图线路规划 + 地理编码结合使用,精确找到终点的位置
- QTP远程运行无法对windos object进行操作
- 8道SAT完成句子题练习
- APACHE 2.2.8+TOMCAT6.0.14配置负载均衡
- 印度“塑料大王”裸捐6亿美元家产后遁入空门
- 开发中遇到的一些版本兼容问题-JsonObject
- 对测试的认识
- redis中文api
- 苹果开发者账号申请与iTunesconnect中心问题联系电话
- Spring中引入properties文件
- 最长公共子序列问题(LCS)
- linux常用命令之login命令
- PHP做APP接口时,如何保证接口的安全性
- 锁在应用层的优化思路