android 读取json数据(遍历JSONObject和JSONArray
来源:互联网 发布:无线网卡插上去没网络 编辑:程序博客网 时间:2024/05/01 21:29
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数据(遍历JSONObject和JSONArray
android 读取json数据(遍历JSONObject和JSONArray)
- public String getJson(){
- String jsonString = "{\"FLAG\":\"flag\",\"MESSAGE\":\"SUCCESS\",\"name\":[{\"name\":\"jack\"},{\"name\":\"lucy\"}]}";//json字符串
- try {
- JSONObject result = new JSONObject(jsonstring);//转换为JSONObject
- int num = result.length();
- JSONArray nameList = result.getJSONArray("name");//获取JSONArray
- int length = nameList.length();
- String aa = "";
- for(int i = 0; i < length; i++){//遍历JSONArray
- Log.d("debugTest",Integer.toString(i));
- JSONObject oj = nameList.getJSONObject(i);
- aa = aa + oj.getString("name")+"|";
- }
- Iterator<?> it = result.keys();
- String aa2 = "";
- String bb2 = null;
- while(it.hasNext()){//遍历JSONObject
- bb2 = (String) it.next().toString();
- aa2 = aa2 + result.getString(bb2);
- }
- return aa;
- } catch (JSONException e) {
- throw new RuntimeException(e);
- }
- }
- android 读取JSON数据(遍历JSONObject和JSONArray)
- android 读取JSON数据(遍历JSONObject和JSONArray) .
- android 读取json数据(遍历JSONObject和JSONArray)
- android 读取json数据(遍历JSONObject和JSONArray
- android 读取json数据(遍历JSONObject和JSONArray)
- android 读取JSON数据(遍历JSONObject和JSONArray)
- android 读取json数据(遍历JSONObject和JSONArray
- Android 读取 json 数据(遍历jsonarray和jsonboject)-FenGKun
- Android中的JSONObject和JSONArray解析json数据
- android用JSONObject和JSONArray解析json格式数据
- JSON数据解析(JSONArray和JSONObject)
- 用JSONObject和JSONArray 解析json数据
- JSONObject,JSON,和JSONArray
- Android JSON 解析(一) JSONObject 和 JSONArray
- Android JSON解析(JSONObject和JSONArray)
- Android JSON解析(JSONObject和JSONArray)
- json 的解析-使用Android中的JSONObject和JSONArray解析json数据
- JsonArray和JsonObject遍历方法
- 什么是CDN
- 面试的第二次---什么是面向对象
- Step6.1.5 hdu1879继续畅通工程(克鲁斯卡尔)
- OJ_1085 求root(N, k)
- 与IBM 软件相关的网址查询
- android 读取json数据(遍历JSONObject和JSONArray
- ie下面,没有背景色的bug
- 谁夺了我的大学梦
- 寂寞是你给的
- ubuntu 防火墙设置
- 萌版胡一菲
- 从哪里为业余项目挤出时间?
- 三星 I9000/Galaxy S 港行2.3.3官方ROM刷内核ROOT教程
- GDB的使用方法(推荐)