android学习之路7:json数据的操作

目前网络传输的数据格式主要有xml和json两种类型,而json作为”后起之秀“,被运用的越来越广泛,大米认为json数据不管是在跨平台,网络传输解析,程序操作json数据等方面来讲都比xml更加方便,所以我更加倾向于使用json数据进行网络传输,android应用中使用json也是相当的简单,java提供了我们org.json.* api,操作变得相当的简单,下面直接上图,上关键代码,上demo源代码:

主界面:

点击获取一个对象按钮,log端输出:

点击获取全部对象按钮,log端输出:

关键代码:

json数据源为一个json形式的字符串:

 //定义json字符串,当然你也可以通过http或者sokect获取到
private String jsonDataWithNotName = "{\"personlist\": [{\"id\":\"1\",\"name\":\"大米\",\"speciality\":\"计算机科学与技术\",\"qq\":111111111}," +
"{\"id\":\"2\",\"name\":\"小米\",\"speciality\":\"软件工程\",\"qq\":22222222}," +
"{\"id\":\"3\",\"name\":\"小小米\",\"speciality\":\"网络工程\",\"qq\":33333333}]}";

获取全部json对象的代码:

 btn_all.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
try {
JSONArray arr=new JSONObject(jsonDataWithNotName).getJSONArray("personlist");

for (int i = 0; i < arr.length(); i++) {
JSONObject obj=(JSONObject) arr.get(i);
if(null!=obj){
Log.e("获取全部json对象", "编号:"+obj.getString("id")+
"姓名:"+ obj.getString("name")+"专业"+obj.getString("speciality")
+"qq号码:"+obj.getString("qq"));
}
}




} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
});


JsonDemo.rar

posted on 2012-02-23 09:29  南阿弥  阅读(283)  评论(0编辑  收藏  举报