android解析json数据的详解实例

========================!友情提示:

get()取值不正确会抛出异常,必须用try catch或者throw包起

而opt()取值不正确则会试图进行转化或者输出友好值,不会抛出异常

=========================================================

Map maps=new HashMap();

maps.put("name1", new Person("name1",12));
maps.put("name2", new Person("name2",13));
maps.put("name3", new Person("name3",14));
List< Person> persons=new ArrayList<Person>();
persons.add(new Person("name4", 15));
persons.add(new Person("name5", 16));
persons.add(new Person("name6", 17));
maps.put("name4Object", persons);
Gson gson=new Gson();
String json = gson.toJson(maps);
Log.i("MainActivity",json );
//使用jsonObject获取到自己想要的字符串

try {

//整个从服务器解析出来的json字符串生成JSONObject对象,拿什么数据,这里是源头

JSONObject jsonObject=new JSONObject(json);

//例如这里要拿name2的对象

String name2 = jsonObject.getString("name2");
Log.i("MainActivity",name2 );
Person person2 = gson.fromJson(name2, Person.class);
Log.i("MainActivity",person2.toString() );
//此处通过上面的JsonObject对象获取JSONArray对象
JSONArray jsonArray = jsonObject.getJSONArray("name4Object");
for (int i = 0; i < jsonArray.length(); i++) {
Object object = jsonArray.get(i);
Person person = gson.fromJson(object.toString(), Person.class);
Log.i("MainActivity","array:"+person.name+"--"+person.age);
}

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

}

=============================这里是 log打印出来的日志=======================================

07-08 09:46:01.855: I

/MainActivity(9464): {"name1":{"name":"name1","age":12},"name2":{"name":"name2","age":13},"name4Object":[{"name":"name4","age":15},{"name":"name5","age":16},{"name":"name6","age":17}],"name3":{"name":"name3","age":14}}

07-08 09:46:01.862: I

/MainActivity(9464): {"age":13,"name":"name2"}

07-08 09:46:01.863: I

/MainActivity(9464): name213

07-08 09:46:01.864: I

/MainActivity(9464): array:name4--15

07-08 09:46:01.864: I

/MainActivity(9464): array:name5--16

07-08 09:46:01.865: I

/MainActivity(9464): array:name6--17

阅读更多
个人分类: android之json解析
上一篇拍照选择-相册图片裁剪后保存在指定的地址
下一篇java实现中文汉字的首字母排序
想对作者说点什么? 我来说一句

从网络获取解析json的android demo

2015年06月25日 1.18MB 下载

JSON数据构造及解析详解

2015年07月05日 4.74MB 下载

Android解析Json数据的PPT和源码

2013年12月26日 9.44MB 下载

老罗android 解析json数据源码

2014年09月29日 9.43MB 下载

WeatherDemo

2014年09月26日 1.29MB 下载

没有更多推荐了,返回首页

关闭
关闭