json数据格式解析我自己分为两种;
一种是普通的,一种是带有数组形式的;
普通形式的:
服务器端返回的json数据格式如下:
{"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}}
分析代码如下:
// TODO 状态处理 500 200
int res = 0;
res = httpClient.execute(httpPost).getStatusLine().getStatusCode();
if (res == 200) {
/*
* 当返回码为200时,做处理
* 得到服务器端返回json数据,并做处理
* */
HttpResponse httpResponse = httpClient.execute(httpPost);
StringBuilder builder = new StringBuilder();
BufferedReader bufferedReader2 = new BufferedReader(
new InputStreamReader(httpResponse.getEntity().getContent()));
String str2 = "";
for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2
.readLine()) {
builder.append(s);
}
Log.i("cat", ">>>>>>" + builder.toString());
JSONObject jsonObject = new JSONObject(builder.toString())
.getJSONObject("userbean");
String Uid;
String Showname;
String Avtar;
String State;
Uid = jsonObject.getString("Uid");
Showname = jsonObject.getString("Showname");
Avtar = jsonObject.getString("Avtar");
State = jsonObject.getString("State");
带数组形式的:
服务器端返回的数据格式为:
{"calendar":
{"calendarlist":
[
{"calendar_id":"1705","title":"(\u4eb2\u5b50)ddssd","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288927800","endshowtime":"1288931400","allDay":false},
{"calendar_id":"1706","title":"(\u65c5\u884c)","category_name":"\u9ed8\u8ba4\u5206\u7c7b","showtime":"1288933200","endshowtime":"1288936800","allDay":false}
]
}
}
分析代码如下:
// TODO 状态处理 500 200
int res = 0;
res = httpClient.execute(httpPost).getStatusLine().getStatusCode();
if (res == 200) {
/*
* 当返回码为200时,做处理
* 得到服务器端返回json数据,并做处理
* */
HttpResponse httpResponse = httpClient.execute(httpPost);
StringBuilder builder = new StringBuilder();
BufferedReader bufferedReader2 = new BufferedReader(
new InputStreamReader(httpResponse.getEntity().getContent()));
String str2 = "";
for (String s = bufferedReader2.readLine(); s != null; s = bufferedReader2
.readLine()) {
builder.append(s);
}
Log.i("cat", ">>>>>>" + builder.toString());
/**
* 这里需要分析服务器回传的json格式数据,
*/
JSONObject jsonObject = new JSONObject(builder.toString())
.getJSONObject("calendar");
JSONArray jsonArray = jsonObject.getJSONArray("calendarlist");
for(int i=0;i<jsonArray.length();i++){
JSONObject jsonObject2 = (JSONObject)jsonArray.opt(i);
CalendarInfo calendarInfo = new CalendarInfo();
calendarInfo.setCalendar_id(jsonObject2.getString("calendar_id"));
calendarInfo.setTitle(jsonObject2.getString("title"));
calendarInfo.setCategory_name(jsonObject2.getString("category_name"));
calendarInfo.setShowtime(jsonObject2.getString("showtime"));
calendarInfo.setEndtime(jsonObject2.getString("endshowtime"));
calendarInfo.setAllDay(jsonObject2.getBoolean("allDay"));
calendarInfos.add(calendarInfo);
}
总结,普通形式的只需用JSONObject ,带数组形式的需要使用JSONArray 将其变成一个list。
分享到:
相关推荐
本教程聚焦于老罗讲解的Android解析JSON数据的源码分析,这对于深入理解JSON处理以及优化应用程序性能至关重要。 首先,我们需要了解JSON的基本结构。JSON是一种基于键值对的格式,数据以键值对的形式存储,如{"key...
总结,Android解析JSON数据是常见的任务,开发者可以选择不同的库和方法来实现。理解JSON的结构,熟练使用解析库,以及妥善处理网络请求和异步操作,是提升Android开发能力的关键步骤。通过阅读给定的博客文章,可以...
这个资料包包含了一个关于Android解析JSON数据的PPT和源码,可以帮助开发者深入理解和实践Android中如何处理JSON数据。 首先,我们要理解JSON的基本结构。JSON由键值对组成,键用引号括起来,后跟冒号,值可以是...
以上就是Android解析JSON数据的一些常见方法。选择哪种方法主要取决于项目需求和个人偏好。在实际开发中,通常会结合使用这些库和工具,以实现高效且灵活的数据处理。记住,无论选择哪种方式,确保在处理网络数据时...
本篇将深入探讨如何在Android平台上使用org.json库解析JSON数据。 一、JSON基础知识 1. JSON数据结构:主要包括对象(Object)和数组(Array)。对象由键值对组成,用花括号{}包围;数组是一组有序的值,用方括号[]...
在“android解析json数据)第一集JsonProject.zip”这个压缩包中,我们很可能会找到一个实战项目,展示了如何在Android应用中处理JSON数据。通过这个项目,我们可以学习到以下关键知识点: 1. JSON基本结构:JSON...
2. Android解析JSON库: Android提供了两个内置库来处理JSON数据:`org.json`和`com.google.gson`。`org.json`库适用于简单的JSON操作,而`com.google.gson`库功能更强大,支持复杂对象的序列化和反序列化。 3. `...
在这个“老罗android解析json数据源代码和PPT”资料中,我们可以学习到如何在Android环境下处理JSON数据,以及如何通过源代码实现这一过程。 首先,理解JSON的基本结构至关重要。JSON由键值对组成,键是字符串,值...
以上是基于Android解析JSON数据天气APP的主要技术点,通过熟练掌握这些知识,可以构建出一款功能完备、用户体验良好的天气应用。在实际开发中,还要注意代码规范、性能优化以及遵循Android的最佳实践。
本篇将详细讲解如何在Android应用中解析JSON数据,主要涉及以下几个方面: 1. JSON基本结构 JSON由两种基本结构构成:对象(Object)和数组(Array)。对象是以花括号 `{}` 包围的键值对集合,键用双引号括起,如`...
总的来说,Android开发中解析JSON数据是一项基础且重要的任务,理解并熟练运用`JSONObject`和`JSONArray`类是处理JSON数据的关键。在实际开发中,还需要注意错误处理和数据验证,确保数据的正确性和安全性。
总之,这个项目的核心是动态解析JSON数据,避免为每个JSON键值创建实体类,而是直接解析并显示在列表中。这展示了Android开发中的灵活性,以及如何有效地处理JSON数据,对于初学者和有经验的开发者都是一个有价值的...
老罗的Android视频开发教程深入浅出地讲解了如何在Android环境中解析JSON数据,这对于开发者来说是至关重要的技能。下面我们将详细探讨这个主题。 首先,我们来了解JSON的基本结构。JSON基于JavaScript的一个子集,...
JSON数据在Android中的应用非常广泛,例如在网络请求中接收和发送数据,存储配置信息,或者在不同组件之间传递复杂数据。理解并熟练使用JSON解析和序列化是每个Android开发者必备的技能之一。在处理过程中,需要注意...
"Android解析json数据示例代码(三种方式)" 本篇文章主要介绍了Android平台上解析JSON数据的三种方式,分别是Android自带解析、Gson解析和FastJson解析。 一、Android自带解析 在Android平台上,自带的JSON解析...
在Android中,我们通常使用Google提供的Gson库或者org.json库来解析JSON数据。Gson库能够直接将JSON字符串转化为Java对象,反之亦然,非常方便。而org.json库提供了JSONObject和JSONArray类,可以手动解析和构建JSON...
使用解析JSON文件获取天气预报信息,并将不同城市的天气信息显示在主界面中,应用程序运行时界面如图1所示。单击其他城市按钮时,将显示相应城市对应的天气信息,如图2所示4.在模块对应的包名下创建JSON数据对应的...
总结来说,Android解析JSON数据主要涉及选择合适的库(如Gson或org.json),根据数据结构解析JSON字符串,以及将解析后的数据应用于应用程序中。理解这些基本概念和操作对于Android开发者来说至关重要,因为JSON已经...
在Android中,我们通常使用`org.json`库或者Gson库来解析JSON数据。`org.json`库提供了一些基本的类如`JSONObject`和`JSONArray`,用于解析JSON对象和数组。 1. **使用org.json解析JSON对象:** 当接收到一个JSON...
本主题聚焦于“Android Studio解析JSON对象”,这是一个非常关键且实用的技能,因为JSON作为一种轻量级的数据交换格式,广泛应用于网络通信和数据存储。JSON对象可以方便地表示各种复杂的数据结构,包括数组、键值...