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 studio解析JSON数据

第一步,gradle添加:compile 'com.google.code.gson:gson:2.2.4' 数据源为:oringdata:{"status":0,"size":0,"total":...
  • MayWendy
  • MayWendy
  • 2017年06月07日 15:04
  • 870

Andorid之Gson解析Json数据

Json类型数据可以通过Json官方提供的方法将Json字符串转化为对象类型,但是解析往往比较麻烦, Gson是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java ...
  • zml_2015
  • zml_2015
  • 2016年02月03日 14:51
  • 2952

【Android】解析JSON数据详解

Android解析JSON数据详解 JSON(JavaScript Object Notation) 定义:一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解...
  • lingwu7
  • lingwu7
  • 2016年05月05日 23:19
  • 1660

Gson解析JSON数据实例

{ "respBody": { "timestamp": "1482745098465", "enableTingyun": true, "recommendIcon": ...
  • jiang547860818
  • jiang547860818
  • 2017年02月21日 18:16
  • 343

jQuery AJAX获取JSON数据解析多种方式示例

本文出自:http://blog.csdn.net/haiqiao_2010/article/details/12653555
  • zhoucheng05_13
  • zhoucheng05_13
  • 2016年12月13日 15:12
  • 17923

Android开发中json数据解析工具类

-----------------------------------------------------用Android自带的JSONArray及JSONObject处理json数据--------...
  • true100
  • true100
  • 2015年03月24日 11:21
  • 1762

Android解析服务器返回的Json数据

服务器端的返回数据的servlet package servlet; import impl.JsonService; import java.io.IOException; import ...
  • sinat_27362429
  • sinat_27362429
  • 2015年04月22日 10:52
  • 958

Android开发之JSON数据解析和生成

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard ECMA-262 3rd Edition - Decembe...
  • victorfreedom
  • victorfreedom
  • 2014年11月30日 21:51
  • 970

Android解析json数据的几种方法

一、什么是json 百度百科中对json的介绍是这样的:JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard EC...
  • yubo_725
  • yubo_725
  • 2014年12月02日 15:16
  • 1121

Android Volley请求json数据,fastJson解析json数据

参考:http://blog.csdn.net/feiduclear_up/article/details/42526235关于JSON的官方介绍fastJson 下载地址: 作者的git:h...
  • xx326664162
  • xx326664162
  • 2015年12月15日 14:58
  • 2722
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android解析json数据的详解实例
举报原因:
原因补充:

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