Android回顾之JSON解析

来源:互联网 发布:linux 流程图工具 编辑:程序博客网 时间:2024/05/22 01:36

介绍完XML解析,怎么能不介绍下JSON解析。

根据官网(http://json.org/)介绍,JSON是一种轻量级的数据交换格式,他是很容易被读写的,也很容易被机器解析和生成。其中JSON数据是一串键值对或者一串值列表这两种数据结构组成,其中键值对的数据结构可简单表示为 {key:value,key:value,...}的形式;而值串列表则可表示为 [value,value,...]的形式。

下面是一个很简单的JSON数据:

{"日期" : "2013-12-25","Like" : {"Name" : "加内特","Height" : "2.11cm","Age" : 35},"LikeList":{"List": [{"Name" : "Rose","Height" : "190cm","Age" : 23},{"Name" : "科比","Height" : "198cm","Age" : 33}]}}

他包含了上面两种数据结构。对他的解析如下

JSONObject dataJson = new JSONObject(str);Log.d(TAG, str);Log.d(TAG, dataJson.getString("日期"));JSONObject nbaJson = dataJson.getJSONObject("Like");Log.d(TAG, nbaJson.getString("Name"));Log.d(TAG, nbaJson.getString("Height"));Log.d(TAG, nbaJson.get("Age").toString());JSONObject listJson = dataJson.getJSONObject("LikeList");JSONArray arrayJson = listJson.getJSONArray("List");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());}

普通形式的只需用JSONObject ,带数组形式的需要使用JSONArray 将其变成一个list,然后解析。

0 0
原创粉丝点击