• Android 开发工具类 14_ JsonTools


    天气 JSON 数据解析

     1 package com.example.weather_json.tools;
     2 
     3 import java.util.ArrayList;
     4 import java.util.List;
     5 
     6 import org.json.JSONArray;
     7 import org.json.JSONException;
     8 import org.json.JSONObject;
     9 
    10 import com.example.weather_json.Entity.Results;
    11 import com.example.weather_json.Entity.WeatherData;
    12 import com.example.weather_json.Entity.WeatherInfo;
    13 
    14 public class JsonTools {
    15     public static WeatherInfo MyGetJSON(String jsonString) throws JSONException {
    16         List<Results> listResults = null;
    17         List<WeatherData> listDatas = null;
    18         Results results = null;
    19         WeatherData weatherData = null;
    20         WeatherInfo weatherInfo = null;
    21         JSONObject jsonObject = new JSONObject(jsonString);
    22 
    23         // 解析WeatherInfo对象
    24         weatherInfo = new WeatherInfo();
    25         weatherInfo.setError(jsonObject.getString("error"));
    26         weatherInfo.setStatus(jsonObject.getString("status"));
    27         weatherInfo.setDate(jsonObject.getString("date"));
    28         // 解析Results对象
    29         listResults = new ArrayList<Results>();
    30         JSONArray jsonResArray = jsonObject.getJSONArray("results");
    31         for (int i = 0; i < jsonResArray.length(); i++) {
    32             results = new Results();
    33             JSONObject temp = (JSONObject) jsonResArray.opt(i);
    34             results.setCurrentCity(temp.getString("currentCity"));
    35 
    36             // 解析WeatherData对象数组
    37             JSONArray jsonArray = temp.getJSONArray("weather_data");
    38             listDatas = new ArrayList<WeatherData>();
    39             for (int i1 = 0; i1 < jsonArray.length(); i1++) {
    40                 weatherData = new WeatherData();
    41                 JSONObject temp1 = (JSONObject) jsonArray.opt(i1);
    42                 weatherData.setDate(temp1.getString("date"));
    43                 weatherData.setDayPictureUrl(temp1.getString("dayPictureUrl"));
    44                 weatherData.setNightPictureUrl(temp1
    45                         .getString("nightPictureUrl"));
    46                 weatherData.setWeather(temp1.getString("weather"));
    47                 weatherData.setWind(temp1.getString("wind"));
    48                 weatherData.setTemperature(temp1.getString("temperature"));
    49                 listDatas.add(weatherData);
    50                 weatherData = null;
    51             }
    52             results.setList(listDatas);
    53             listResults.add(results);
    54             results = null;
    55         }
    56         weatherInfo.setList(listResults);
    57         return weatherInfo;
    58     }
    59 }

    json 对象

     1 {
     2     "error": 0,
     3     "status": "success",
     4     "date": "2014-04-28",
     5     "results": [
     6         {
     7             "currentCity": "合肥",
     8             "weather_data": [
     9                 {
    10                     "date": "周一(今天, 实时:22℃)",
    11                     "dayPictureUrl": "www.baidu.com",
    12                     "nightPictureUrl": "www.baidu.com",
    13                     "weather": "多云转晴",
    14                     "wind": "西北风微风",
    15                     "temperature": "22 ~ 13℃"
    16                 },
    17                 {
    18                     "date": "周二",
    19                     "dayPictureUrl": "www.baidu.com",
    20                     "nightPictureUrl": "1www.baidu.com",
    21                     "weather": "多云",
    22                     "wind": "西北风微风",
    23                     "temperature": "24 ~ 14℃"
    24                 },
    25                 {
    26                     "date": "周三",
    27                     "dayPictureUrl": "www.baidu.com",
    28                     "nightPictureUrl": "www.baidu.com",
    29                     "weather": "多云转晴",
    30                     "wind": "南风微风",
    31                     "temperature": "26 ~ 14℃"
    32                 },
    33                 {
    34                     "date": "周四",
    35                     "dayPictureUrl": "www.baidu.com",
    36                     "nightPictureUrl": "www.baidu.com",
    37                     "weather": "晴",
    38                     "wind": "东南风微风",
    39                     "temperature": "27 ~ 13℃"
    40                 }
    41             ]
    42         }
    43     ]
    44 }

    【参考文献】

    http://blog.csdn.net/u010794950/article/details/24650421

  • 相关阅读:
    C#中两个日期类型的变量如何进行比较
    Ajax基本原理讲解 (引用别人文章)
    Ajax程序设计入门
    ASP.NET中如何调用存储过程
    删除SAM文件真的能够消除XP系统管理员的密码吗?
    用XMLHttpRequest和struts实现AJAX(译)
    关于邮件系统域名(DNS)设置的小常识
    输出各种二进制流的格式
    WPF 3D编程介绍
    WPF 3D学习笔记
  • 原文地址:https://www.cnblogs.com/renzimu/p/4535840.html
Copyright © 2020-2023  润新知