android解析json数据的详解实例

原创 2015年07月08日 09:50:14

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

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数据解析(带数组)实例

格式如下: 有两组数据,数组的标签为message String  t={"status":"1","message":[       {"hasregister":1,      "sid":"16...

Android中对Json数据解析实例(网络访问的问题)

目的:在解析Json数据时,从网络端服务器获取Json数据,然后在日志中打印出来 下面用一个实例来说明 解析网址:http://www.weather.com.cn/data/sk/1012302...

Android 解析后台返回为Json数据实例教程

大家好,今天给大家分享下Android解析Json的例子,我这里自己安装了Tomcat,让自己电脑充当下服务器,最重要的是,返回结果自己可以随便修改。   首先看下Json的定义,以及它和XML的比...

Android网络请求与JSON解析和数据抓取小实例

在Android开发中,我们或多或少都会需要
  • jspping
  • jspping
  • 2014年10月13日 17:16
  • 1196

Android之向中国天气网发送GET请求获取JSON数据实例

中国天气网weather.com   http://m.weather.com.cn/data/101110101.html(六天预报)其中101110101表示城市代码  可以在中国天气网查到各个...

ios下json数据解析的实例

  • 2013年04月06日 16:39
  • 43KB
  • 下载

Google Gson解析Json数据应用实例

  • 2011年08月06日 16:39
  • 171KB
  • 下载

Android——JSON数据解析详解

今天我们来一起探讨一些有关android开发开发中遇到的数据解析问题;

android 数据解析 JSON 开发详解+视频

什么是json: JSON即JavaScript Object Natation的简称,它是一种轻量级的数据交换格式,非常适合服务器与JavaScript的交互。JSON易于人阅读和编写。同时也易于...

Android开发之JSON数据解析详解(二)

在上一篇我们讲解了Android开发JSON的基本介绍以及JSON的数据结构等, 今天我们来讲解一下JSON的工作原理以及基本用法: JSON解析分为两种情况,一种是在服务器端解析,另一种是在客户端解...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android解析json数据的详解实例
举报原因:
原因补充:

(最多只允许输入30个字)