JSON

Android学习之解析JSON

字号+ 作者:H5之家 来源:H5之家 2015-11-02 15:15 我要评论( )

大家好,今天和大家分享的是Android解析JSON。 首先和大家稍微介绍下JSON: 它是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 JSON中的数据大多采用键/值的方式, 每个键值用逗号隔开,如: "键":"值" , "键":"值" 一个JSON


大家好,今天和大家分享的是Android解析JSON。
首先和大家稍微介绍下JSON:
它是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 
JSON中的数据大多采用键/值的方式, 每个键值用逗号隔开,如:
"键":"值" , 
"键":"值"
一个JSON文件在Android里解析时就是一个JSONObject,
你也可以在JSON文件里声明一个内部JSONObject:

"名称" :

  "键":"值" ,
  "键":"值" 
}
声明JSON数组的格式如下:
"JSONObject名称":
{"JSONArray名称":
[
  {
  "键":"值" 
  }
 
  {
  "键":"值" 
  }
]
}
JSON具体的介绍可以看
"Name":"KG" 解析:
JSONObject dataJson = new JSONObject(str);
str是你获得的JSON代码。
dataJson.getString("Name");
得到的就是一个字符串KG了。
 
还比如str里面还包含了以下语句:
 
"NBA":
  {"Name":"加内特",
    "Height":"2.11cm",
    "Age":35,
  }
 
这里"NBA"代表的就是一个JSONObject,那我们就可以在程序中获得这个JSONObject "NBA":
JSONObject nbaJson = dataJson.getJSONObject("NBA");
这个JSONObject里面就包含了 "Name" "Height" "Age" 这三个属性了,用nbaJson.getxxx("xxx")就可以得到相应的值了。
当然我们也可以解析JSON数组:
"LikeList":
{"List": 
[
{"Name" : "Rose",
"Height" : "190cm",
"Age" : 23},
 
{"Name" : "科比",
"Height" : "198cm",
"Age" : 33}
]
}
 
"LikeList" 表示的也是一个JSONObject。
解析代码如下:
 
JSONObject listJson = dataJson.getJSONObject("LikeList");
//获得JSON数组
JSONArray arrayJson = listJson.getJSONArray("List");
//里面就包含了两个JSONObject,分别解析。
 
for(int i=0;i<arrayJson.length();i++) {
 
  JSONObject tempJson = arrayJson.optJSONObject(i);
 
  Log.d(TAG, tempJson.getString("Name"));
  Log.d(TAG, tempJson.getString("Height"));
  Log.d(TAG, tempJson.getString("Age").toString());
 

我写了一个实例,有兴趣的同学可以下载看看。
免费下载地址在
用户名与密码都是
具体下载目录在 /2011年资料/Android入门教程/Android学习之解析JSON/

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • php CI 实战教程:[5]用curl获取json并解析

    php CI 实战教程:[5]用curl获取json并解析

    2016-02-26 17:00

  • Android解析Json速度最快的库:json

    Android解析Json速度最快的库:json

    2016-02-13 18:00

  • JavaScript转换与解析JSON方法实例详解第1/2页

    JavaScript转换与解析JSON方法实例详解第1/2页

    2016-02-10 21:25

  • Android中JSON数据格式读取解析创建视频教程

    Android中JSON数据格式读取解析创建视频教程

    2016-02-05 19:00

网友点评