博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android数据格式解析对象JSON用法(转)
阅读量:7283 次
发布时间:2019-06-30

本文共 1797 字,大约阅读时间需要 5 分钟。

地址:

 

里面的重点:

  

JSON解析案例

     (1)解析Object之一:

 
String jsonString ={"url":"http://www.cnblogs.com/qianxudetianxia"}; 解析方法: JSONObject demoJson = new JSONObject(jsonString); String url = demoJson.getString("url");
 

    (2)解析Object之二:

 
String jsonString ={"name":"android"," version":"Beta1.0"}; 解析方法: JSONObject demoJson = new JSONObject(jsonString); String name = demoJson.getString("name"); String version = demoJson.getString("version"); System.out.println("name:"+name+",version:"+version);
 

  (3).解析Array之一:

String jsonString ={
"number":[1,2,3]};
 
 解析方法:
 
JSONObject demoJson = new JSONObject(jsonString);
JSONArray numberList = demoJson.getJSONArray("number");
 
for(int i=0; i<numberList.length(); i++){
    //因为数组中的类型为int,所以为getInt,其他getString,getLong同用
    System.out.println(numberList.getInt(i));
}

(4).解析Array之二:

 
String jsonString ={"number":[[1],[2],[3]]}; 解析方法: //嵌套数组遍历 JSONObject demoJson = new JSONObject(jsonString); JSONArray numberList = demoJson.getJSONArray("number"); for(int i=0; i
 

(5).解析ObjectArray:

 
String jsonString ={"mobile":[{"name":"android"},{"name":"iphone"}]}; 解析方法: JSONObject demoJson = new JSONObject(jsonString); JSONArray numberList = demoJson.getJSONArray("mobile"); for(int i=0; i
 

(6).使用optType:

上面的例子,使用getType在碰到查找不到节点的时候,会抛出异常。

如果使用optType,找不到节点,则返回null或者默认值。

//无url节点,抛出异常 String url = demoJson.getString("url"); //无url节点,返回空,如果为基本类型,则返回默认值 String url = demoJson.optString("url");

(7).UTF-8BOM头导致解析JSON异常的问题

      到json文件保存为utf-8的时候,在windows平台下,会产生bom头"EF BB EF"字节在文本的最前面(需要用十六进制工具打开才能看的到)。
      有两种解决方法:
      a.使用UltraEdit打开json文件, 另存为的时候,选择格式UTF-8,无BOM头,如果还不行,在用记事本打开,另存为UTF-8下,多试几次就可以了。
      b.使用代码处理,截取json主体内容:

 

String jsonString = getJsonString(); jsonString =jsonString.substring(jsonString.indexOf("{"),jsonString.lastIndexOf("}")+1);

转载于:https://www.cnblogs.com/woaixingxing/p/5687473.html

你可能感兴趣的文章
Numpy
查看>>
【matlab】合并两个cell
查看>>
查询引用 表,视图,的所有存储过程
查看>>
有限偏序集必有最大元
查看>>
我要学算法
查看>>
空间谱专题07:干涉仪仿真思路
查看>>
查询该表的所有字段名以及该字段的最大值最小值
查看>>
mysql 案例 ~ 主从复制延迟之并行复制
查看>>
模拟 POJ 2993 Emag eht htiw Em Pleh
查看>>
JMETER 使用JDBC查找数据作为参数
查看>>
BT网站-IBMID.COM
查看>>
hashmap和hashtable区别
查看>>
android intent 及自定义消息传递
查看>>
ios 判断某个时间是周几的方法
查看>>
【引】How to Choose the Best Way to Pass Multiple Models in ASP.NET MVC
查看>>
【BZOJ4755】 [Jsoi2016]扭动的回文串
查看>>
npoi 导出
查看>>
POJ 1364
查看>>
字符编码与函数
查看>>
css中position属性值的区别
查看>>