json的数据解析

来源:互联网 发布:成都高新区行知小学 编辑:程序博客网 时间:2024/05/17 04:53

                                         json数据解析网络上传过来的数据

网络数据如下:

             {
                 "eventList":    [
                             {
                                 "eventId": 262,                                                                     //活动编号
                                 "heat": 50,                                                                            //活动热度
                                 "imageUrl": "http://oss.aliyun.com/mybuket/001.jpg",     //活动图片地址
                                 "locationName": "北京工人体育馆",                                 //活动地址
                                 "startTime": 1419824358, //unix时间戳                            //活动开始时间
                                 "title": "演唱会",                                                                   //活动标题
                                 "longitude": 118.143,                                                          //活动地点经度
                                 "latitude": 24.4906                                                             //活动地点纬度
                             },
                            {
                                "eventId": 261,
                                "heat": 30,
                                "imageUrl": "http://oss.aliyun.com/mybuket/001.jpg",
                                "locationName": "上海梅赛德斯奔驰中心",
                                "startTime": 1419824358, //unix时间戳
                                "title": "话剧",
                                "longitude": 118.143,
                               "latitude": 24.4906
                             }
                                    ]
                           }

 json解析数据:jsonObject中包含了json的数据

               @Override
public void onResponse(boolean success, JsonObject   jsonObject, String errStr) {

                                //定义List泛型为Event对象
ArrayList<Event> list = null;
if (success) {
list = new ArrayList<Event>();
JsonArray jsonArray = jsonObject.get("eventList").getAsJsonArray();
Pattern pattern = Pattern.compile("\\,");
String baseEventImageUrl = ApiUrl.getEventImageUrl();
for (int i = 0; i < jsonArray.size(); i++) {
JsonObject jObj = jsonArray.get(i).getAsJsonObject();
Event event = new Event();
event.eventId = jObj.get("eventId").getAsInt();
event.heat = jObj.get("heat").getAsInt();
String imageUrls = jObj.get("imageUrl").getAsString();
event.imageUrl = baseEventImageUrl + "/" + pattern.split(imageUrls)[0];
event.locationName = jObj.get("locationName").getAsString();
event.title = jObj.get("title").getAsString();

                                                //判断json数据是否为空
if (!(jObj.get("startTime").isJsonNull())) {
event.startTime = jObj.get("startTime").getAsLong();
event.startTimeStr = event.getTimeStr(event.startTime);
} else {
event.startTime = 0;
event.startTimeStr = "长期";
}
list.add(event);
}
}

      

 注意:Json解析出来的数据是否为空需要用到isJsonNull()来判断,

            判断字符str是否为空的要用TextUtils.isEmpty(str);

 









0 0
原创粉丝点击