Android回顾之JSON解析

介绍完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,然后解析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值