简体   繁体   中英

Parsing JSON data to Java for Android Weather App

Alright, so I'm trying to output some data from a JSON file from Weather Underground for an Android app. What I need is the current temperature and conditions for the day, for the next 10 days. The JSON data provided gives a 10 day outlook but I have no idea how to parse out each day separately. And, I'm even having trouble trying to just get the temperature and condition into a single string output.

Here is the JSON set:

 { "response": { "version":"0.1", "termsofService":"http://www.wunderground.com/weather/api/d/terms.html", "features": { "forecast10day": 1 } } , "forecast":{ "txt_forecast": { "date":"1:27 PM CDT", "forecastday": [ { "period":0, "icon":"partlycloudy", "icon_url":"http://icons.wxug.com/i/c/k/partlycloudy.gif", "title":"Wednesday", "fcttext":"A mix of clouds and sun. Slight chance of a rain shower. High around 60F. Winds SSE at 10 to 20 mph.", "fcttext_metric":"Sun and clouds mixed. Slight chance of a rain shower. High near 15C. Winds SSE at 15 to 30 km/h.", "pop":"10" } , { "period":1, "icon":"nt_rain", "icon_url":"http://icons.wxug.com/i/c/k/nt_rain.gif", "title":"Wednesday Night", "fcttext":"Showers and thundershowers this evening will give way to steady rain overnight. Low 51F. Winds S at 10 to 15 mph. Chance of rain 70%.", "fcttext_metric":"Showers and thundershowers this evening, then cloudy with rain likely overnight. Low around 10C. Winds S at 15 to 25 km/h. Chance of rain 70%.", "pop":"70" } , { "period":2, "icon":"partlycloudy", "icon_url":"http://icons.wxug.com/i/c/k/partlycloudy.gif", "title":"Thursday", "fcttext":"Morning clouds will give way to sunshine for the afternoon. High around 70F. Winds WSW at 5 to 10 mph.", "fcttext_metric":"Morning clouds will give way to sunshine for the afternoon. High 21C. Winds WSW at 10 to 15 km/h.", "pop":"20" } , { "period":3, "icon":"nt_clear", "icon_url":"http://icons.wxug.com/i/c/k/nt_clear.gif", "title":"Thursday Night", "fcttext":"A mostly clear sky. Low around 45F. Winds light and variable.", "fcttext_metric":"Mostly clear. Low 7C. Winds light and variable.", "pop":"0" } , { "period":4, "icon":"partlycloudy", "icon_url":"http://icons.wxug.com/i/c/k/partlycloudy.gif", "title":"Friday", "fcttext":"Partly cloudy. High 71F. Winds SSW at 5 to 10 mph.", "fcttext_metric":"Intervals of clouds and sunshine. High 22C. Winds SSW at 10 to 15 km/h.", "pop":"0" } , { "period":5, "icon":"nt_partlycloudy", "icon_url":"http://icons.wxug.com/i/c/k/nt_partlycloudy.gif", "title":"Friday Night", "fcttext":"A few clouds. Low 49F. Winds W at 10 to 15 mph.", "fcttext_metric":"A few clouds. Low 9C. Winds W at 10 to 15 km/h.", "pop":"0" } , { "period":6, "icon":"clear", "icon_url":"http://icons.wxug.com/i/c/k/clear.gif", "title":"Saturday", "fcttext":"Sunny. High near 65F. Winds WNW at 10 to 20 mph.", "fcttext_metric":"Mainly sunny. High 18C. Winds WNW at 15 to 30 km/h.", "pop":"0" } , { "period":7, "icon":"nt_clear", "icon_url":"http://icons.wxug.com/i/c/k/nt_clear.gif", "title":"Saturday Night", "fcttext":"A mostly clear sky. Low 42F. Winds WNW at 5 to 10 mph.", "fcttext_metric":"Clear skies. Low 6C. Winds WNW at 10 to 15 km/h.", "pop":"0" } , { "period":8, "icon":"clear", "icon_url":"http://icons.wxug.com/i/c/k/clear.gif", "title":"Sunday", "fcttext":"Mostly sunny skies. High 63F. Winds SE at 10 to 15 mph.", "fcttext_metric":"Generally sunny despite a few afternoon clouds. High 17C. Winds SE at 15 to 25 km/h.", "pop":"10" } , { "period":9, "icon":"nt_chancerain", "icon_url":"http://icons.wxug.com/i/c/k/nt_chancerain.gif", "title":"Sunday Night", "fcttext":"Partly cloudy skies early followed by increasing clouds with showers developing later at night. Low 51F. Winds SE at 10 to 15 mph. Chance of rain 40%.", "fcttext_metric":"Partly cloudy skies early followed by increasing clouds with showers developing later at night. Low around 10C. Winds SE at 10 to 15 km/h. Chance of rain 40%.", "pop":"40" } , { "period":10, "icon":"chancerain", "icon_url":"http://icons.wxug.com/i/c/k/chancerain.gif", "title":"Monday", "fcttext":"Showers early becoming less numerous later in the day. High 62F. Winds WSW at 5 to 10 mph. Chance of rain 40%.", "fcttext_metric":"Chance of a shower or two during the morning, followed by partly cloudy skies in the afternoon. High 17C. Winds WSW at 10 to 15 km/h. Chance of rain 30%.", "pop":"40" } , { "period":11, "icon":"nt_chancerain", "icon_url":"http://icons.wxug.com/i/c/k/nt_chancerain.gif", "title":"Monday Night", "fcttext":"A shower or two around the area in the evening, then partly cloudy overnight. Low 47F. Winds WNW at 10 to 15 mph. Chance of rain 30%.", "fcttext_metric":"A few clouds. Low 8C. Winds WNW at 15 to 25 km/h.", "pop":"30" } , { "period":12, "icon":"mostlycloudy", "icon_url":"http://icons.wxug.com/i/c/k/mostlycloudy.gif", "title":"Tuesday", "fcttext":"Partly cloudy skies during the morning hours will become overcast in the afternoon. High 52F. Winds WNW at 15 to 25 mph.", "fcttext_metric":"Partly to mostly cloudy. High 11C. Winds WNW at 25 to 40 km/h.", "pop":"10" } , { "period":13, "icon":"nt_clear", "icon_url":"http://icons.wxug.com/i/c/k/nt_clear.gif", "title":"Tuesday Night", "fcttext":"A mostly clear sky. Low 37F. Winds W at 5 to 10 mph.", "fcttext_metric":"A mostly clear sky. Low 3C. Winds W at 10 to 15 km/h.", "pop":"10" } , { "period":14, "icon":"clear", "icon_url":"http://icons.wxug.com/i/c/k/clear.gif", "title":"Wednesday", "fcttext":"Generally sunny despite a few afternoon clouds. High 53F. Winds WSW at 5 to 10 mph.", "fcttext_metric":"Generally sunny despite a few afternoon clouds. High 12C. Winds WSW at 10 to 15 km/h.", "pop":"10" } , { "period":15, "icon":"nt_partlycloudy", "icon_url":"http://icons.wxug.com/i/c/k/nt_partlycloudy.gif", "title":"Wednesday Night", "fcttext":"Partly cloudy skies. Low 37F. Winds W at 5 to 10 mph.", "fcttext_metric":"A few clouds. Low 3C. Winds W at 10 to 15 km/h.", "pop":"20" } , { "period":16, "icon":"partlycloudy", "icon_url":"http://icons.wxug.com/i/c/k/partlycloudy.gif", "title":"Thursday", "fcttext":"Intervals of clouds and sunshine. High 52F. Winds NNW at 5 to 10 mph.", "fcttext_metric":"Partly cloudy skies. High 11C. Winds NNW at 10 to 15 km/h.", "pop":"20" } , { "period":17, "icon":"nt_clear", "icon_url":"http://icons.wxug.com/i/c/k/nt_clear.gif", "title":"Thursday Night", "fcttext":"A few clouds from time to time. Low 37F. Winds NNW at 5 to 10 mph.", "fcttext_metric":"Mostly clear skies. Low 3C. Winds NNW at 10 to 15 km/h.", "pop":"20" } , { "period":18, "icon":"clear", "icon_url":"http://icons.wxug.com/i/c/k/clear.gif", "title":"Friday", "fcttext":"Except for a few afternoon clouds, mainly sunny. High 48F. Winds NE at 5 to 10 mph.", "fcttext_metric":"Generally sunny despite a few afternoon clouds. High 9C. Winds NE at 10 to 15 km/h.", "pop":"10" } , { "period":19, "icon":"nt_partlycloudy", "icon_url":"http://icons.wxug.com/i/c/k/nt_partlycloudy.gif", "title":"Friday Night", "fcttext":"A few clouds from time to time. Low 36F. Winds SE at 5 to 10 mph.", "fcttext_metric":"Partly cloudy skies. Low 2C. Winds SE at 10 to 15 km/h.", "pop":"10" } ] }, "simpleforecast": { "forecastday": [ {"date":{ "epoch":"1414022400", "pretty":"7:00 PM CDT on October 22, 2014", "day":22, "month":10, "year":2014, "yday":294, "hour":19, "min":"00", "sec":0, "isdst":"1", "monthname":"October", "monthname_short":"Oct", "weekday_short":"Wed", "weekday":"Wednesday", "ampm":"PM", "tz_short":"CDT", "tz_long":"America/Chicago" }, "period":1, "high": { "fahrenheit":"60", "celsius":"16" }, "low": { "fahrenheit":"51", "celsius":"11" }, "conditions":"Partly Cloudy", "icon":"partlycloudy", "icon_url":"http://icons.wxug.com/i/c/k/partlycloudy.gif", "skyicon":"", "pop":10, "qpf_allday": { "in": 0.19, "mm": 5 }, "qpf_day": { "in": 0.00, "mm": 0 }, "qpf_night": { "in": 0.19, "mm": 5 }, "snow_allday": { "in": 0.0, "cm": 0.0 }, "snow_day": { "in": 0.0, "cm": 0.0 }, "snow_night": { "in": 0.0, "cm": 0.0 }, "maxwind": { "mph": 20, "kph": 32, "dir": "SSE", "degrees": 151 }, "avewind": { "mph": 15, "kph": 24, "dir": "SSE", "degrees": 151 }, "avehumidity": 56, "maxhumidity": 0, "minhumidity": 0 } , {"date":{ "epoch":"1414108800", "pretty":"7:00 PM CDT on October 23, 2014", "day":23, "month":10, "year":2014, "yday":295, "hour":19, "min":"00", "sec":0, "isdst":"1", "monthname":"October", "monthname_short":"Oct", "weekday_short":"Thu", "weekday":"Thursday", "ampm":"PM", "tz_short":"CDT", "tz_long":"America/Chicago" }, "period":2, "high": { "fahrenheit":"70", "celsius":"21" }, "low": { "fahrenheit":"45", "celsius":"7" }, "conditions":"Partly Cloudy", "icon":"partlycloudy", "icon_url":"http://icons.wxug.com/i/c/k/partlycloudy.gif", "skyicon":"", "pop":20, "qpf_allday": { "in": 0.00, "mm": 0 }, "qpf_day": { "in": 0.00, "mm": 0 }, "qpf_night": { "in": 0.00, "mm": 0 }, "snow_allday": { "in": 0.0, "cm": 0.0 }, "snow_day": { "in": 0.0, "cm": 0.0 }, "snow_night": { "in": 0.0, "cm": 0.0 }, "maxwind": { "mph": 10, "kph": 16, "dir": "WSW", "degrees": 246 }, "avewind": { "mph": 7, "kph": 11, "dir": "WSW", "degrees": 246 }, "avehumidity": 69, "maxhumidity": 0, "minhumidity": 0 } , {"date":{ "epoch":"1414195200", "pretty":"7:00 PM CDT on October 24, 2014", "day":24, "month":10, "year":2014, "yday":296, "hour":19, "min":"00", "sec":0, "isdst":"1", "monthname":"October", "monthname_short":"Oct", "weekday_short":"Fri", "weekday":"Friday", "ampm":"PM", "tz_short":"CDT", "tz_long":"America/Chicago" }, "period":3, "high": { "fahrenheit":"71", "celsius":"22" }, "low": { "fahrenheit":"49", "celsius":"9" }, "conditions":"Partly Cloudy", "icon":"partlycloudy", "icon_url":"http://icons.wxug.com/i/c/k/partlycloudy.gif", "skyicon":"", "pop":0, "qpf_allday": { "in": 0.00, "mm": 0 }, "qpf_day": { "in": 0.00, "mm": 0 }, "qpf_night": { "in": 0.00, "mm": 0 }, "snow_allday": { "in": 0.0, "cm": 0.0 }, "snow_day": { "in": 0.0, "cm": 0.0 }, "snow_night": { "in": 0.0, "cm": 0.0 }, "maxwind": { "mph": 10, "kph": 16, "dir": "SSW", "degrees": 209 }, "avewind": { "mph": 8, "kph": 13, "dir": "SSW", "degrees": 209 }, "avehumidity": 64, "maxhumidity": 0, "minhumidity": 0 } , {"date":{ "epoch":"1414281600", "pretty":"7:00 PM CDT on October 25, 2014", "day":25, "month":10, "year":2014, "yday":297, "hour":19, "min":"00", "sec":0, "isdst":"1", "monthname":"October", "monthname_short":"Oct", "weekday_short":"Sat", "weekday":"Saturday", "ampm":"PM", "tz_short":"CDT", "tz_long":"America/Chicago" }, "period":4, "high": { "fahrenheit":"65", "celsius":"18" }, "low": { "fahrenheit":"42", "celsius":"6" }, "conditions":"Clear", "icon":"clear", "icon_url":"http://icons.wxug.com/i/c/k/clear.gif", "skyicon":"", "pop":0, "qpf_allday": { "in": 0.00, "mm": 0 }, "qpf_day": { "in": 0.00, "mm": 0 }, "qpf_night": { "in": 0.00, "mm": 0 }, "snow_allday": { "in": 0.0, "cm": 0.0 }, "snow_day": { "in": 0.0, "cm": 0.0 }, "snow_night": { "in": 0.0, "cm": 0.0 }, "maxwind": { "mph": 20, "kph": 32, "dir": "WNW", "degrees": 298 }, "avewind": { "mph": 16, "kph": 26, "dir": "WNW", "degrees": 298 }, "avehumidity": 42, "maxhumidity": 0, "minhumidity": 0 } , {"date":{ "epoch":"1414368000", "pretty":"7:00 PM CDT on October 26, 2014", "day":26, "month":10, "year":2014, "yday":298, "hour":19, "min":"00", "sec":0, "isdst":"1", "monthname":"October", "monthname_short":"Oct", "weekday_short":"Sun", "weekday":"Sunday", "ampm":"PM", "tz_short":"CDT", "tz_long":"America/Chicago" }, "period":5, "high": { "fahrenheit":"63", "celsius":"17" }, "low": { "fahrenheit":"51", "celsius":"11" }, "conditions":"Clear", "icon":"clear", "icon_url":"http://icons.wxug.com/i/c/k/clear.gif", "skyicon":"", "pop":10, "qpf_allday": { "in": 0.03, "mm": 1 }, "qpf_day": { "in": 0.00, "mm": 0 }, "qpf_night": { "in": 0.03, "mm": 1 }, "snow_allday": { "in": 0.0, "cm": 0.0 }, "snow_day": { "in": 0.0, "cm": 0.0 }, "snow_night": { "in": 0.0, "cm": 0.0 }, "maxwind": { "mph": 15, "kph": 24, "dir": "SE", "degrees": 129 }, "avewind": { "mph": 10, "kph": 16, "dir": "SE", "degrees": 129 }, "avehumidity": 50, "maxhumidity": 0, "minhumidity": 0 } , {"date":{ "epoch":"1414454400", "pretty":"7:00 PM CDT on October 27, 2014", "day":27, "month":10, "year":2014, "yday":299, "hour":19, "min":"00", "sec":0, "isdst":"1", "monthname":"October", "monthname_short":"Oct", "weekday_short":"Mon", "weekday":"Monday", "ampm":"PM", "tz_short":"CDT", "tz_long":"America/Chicago" }, "period":6, "high": { "fahrenheit":"62", "celsius":"17" }, "low": { "fahrenheit":"47", "celsius":"8" }, "conditions":"Chance of Rain", "icon":"chancerain", "icon_url":"http://icons.wxug.com/i/c/k/chancerain.gif", "skyicon":"", "pop":40, "qpf_allday": { "in": 0.03, "mm": 1 }, "qpf_day": { "in": 0.03, "mm": 1 }, "qpf_night": { "in": 0.00, "mm": 0 }, "snow_allday": { "in": 0.0, "cm": 0.0 }, "snow_day": { "in": 0.0, "cm": 0.0 }, "snow_night": { "in": 0.0, "cm": 0.0 }, "maxwind": { "mph": 10, "kph": 16, "dir": "WSW", "degrees": 237 }, "avewind": { "mph": 8, "kph": 13, "dir": "WSW", "degrees": 237 }, "avehumidity": 75, "maxhumidity": 0, "minhumidity": 0 } , {"date":{ "epoch":"1414540800", "pretty":"7:00 PM CDT on October 28, 2014", "day":28, "month":10, "year":2014, "yday":300, "hour":19, "min":"00", "sec":0, "isdst":"1", "monthname":"October", "monthname_short":"Oct", "weekday_short":"Tue", "weekday":"Tuesday", "ampm":"PM", "tz_short":"CDT", "tz_long":"America/Chicago" }, "period":7, "high": { "fahrenheit":"52", "celsius":"11" }, "low": { "fahrenheit":"37", "celsius":"3" }, "conditions":"Mostly Cloudy", "icon":"mostlycloudy", "icon_url":"http://icons.wxug.com/i/c/k/mostlycloudy.gif", "skyicon":"", "pop":10, "qpf_allday": { "in": 0.00, "mm": 0 }, "qpf_day": { "in": 0.00, "mm": 0 }, "qpf_night": { "in": 0.00, "mm": 0 }, "snow_allday": { "in": 0.0, "cm": 0.0 }, "snow_day": { "in": 0.0, "cm": 0.0 }, "snow_night": { "in": 0.0, "cm": 0.0 }, "maxwind": { "mph": 25, "kph": 40, "dir": "WNW", "degrees": 301 }, "avewind": { "mph": 18, "kph": 29, "dir": "WNW", "degrees": 301 }, "avehumidity": 54, "maxhumidity": 0, "minhumidity": 0 } , {"date":{ "epoch":"1414627200", "pretty":"7:00 PM CDT on October 29, 2014", "day":29, "month":10, "year":2014, "yday":301, "hour":19, "min":"00", "sec":0, "isdst":"1", "monthname":"October", "monthname_short":"Oct", "weekday_short":"Wed", "weekday":"Wednesday", "ampm":"PM", "tz_short":"CDT", "tz_long":"America/Chicago" }, "period":8, "high": { "fahrenheit":"53", "celsius":"12" }, "low": { "fahrenheit":"37", "celsius":"3" }, "conditions":"Clear", "icon":"clear", "icon_url":"http://icons.wxug.com/i/c/k/clear.gif", "skyicon":"", "pop":10, "qpf_allday": { "in": 0.00, "mm": 0 }, "qpf_day": { "in": 0.00, "mm": 0 }, "qpf_night": { "in": 0.00, "mm": 0 }, "snow_allday": { "in": 0.0, "cm": 0.0 }, "snow_day": { "in": 0.0, "cm": 0.0 }, "snow_night": { "in": 0.0, "cm": 0.0 }, "maxwind": { "mph": 10, "kph": 16, "dir": "WSW", "degrees": 239 }, "avewind": { "mph": 9, "kph": 14, "dir": "WSW", "degrees": 239 }, "avehumidity": 57, "maxhumidity": 0, "minhumidity": 0 } , {"date":{ "epoch":"1414713600", "pretty":"7:00 PM CDT on October 30, 2014", "day":30, "month":10, "year":2014, "yday":302, "hour":19, "min":"00", "sec":0, "isdst":"1", "monthname":"October", "monthname_short":"Oct", "weekday_short":"Thu", "weekday":"Thursday", "ampm":"PM", "tz_short":"CDT", "tz_long":"America/Chicago" }, "period":9, "high": { "fahrenheit":"52", "celsius":"11" }, "low": { "fahrenheit":"37", "celsius":"3" }, "conditions":"Partly Cloudy", "icon":"partlycloudy", "icon_url":"http://icons.wxug.com/i/c/k/partlycloudy.gif", "skyicon":"", "pop":20, "qpf_allday": { "in": 0.00, "mm": 0 }, "qpf_day": { "in": 0.00, "mm": 0 }, "qpf_night": { "in": 0.00, "mm": 0 }, "snow_allday": { "in": 0.0, "cm": 0.0 }, "snow_day": { "in": 0.0, "cm": 0.0 }, "snow_night": { "in": 0.0, "cm": 0.0 }, "maxwind": { "mph": 10, "kph": 16, "dir": "NNW", "degrees": 340 }, "avewind": { "mph": 9, "kph": 14, "dir": "NNW", "degrees": 340 }, "avehumidity": 69, "maxhumidity": 0, "minhumidity": 0 } , {"date":{ "epoch":"1414800000", "pretty":"7:00 PM CDT on October 31, 2014", "day":31, "month":10, "year":2014, "yday":303, "hour":19, "min":"00", "sec":0, "isdst":"1", "monthname":"October", "monthname_short":"Oct", "weekday_short":"Fri", "weekday":"Friday", "ampm":"PM", "tz_short":"CDT", "tz_long":"America/Chicago" }, "period":10, "high": { "fahrenheit":"48", "celsius":"9" }, "low": { "fahrenheit":"36", "celsius":"2" }, "conditions":"Clear", "icon":"clear", "icon_url":"http://icons.wxug.com/i/c/k/clear.gif", "skyicon":"", "pop":10, "qpf_allday": { "in": 0.00, "mm": 0 }, "qpf_day": { "in": 0.00, "mm": 0 }, "qpf_night": { "in": 0.00, "mm": 0 }, "snow_allday": { "in": 0.0, "cm": 0.0 }, "snow_day": { "in": 0.0, "cm": 0.0 }, "snow_night": { "in": 0.0, "cm": 0.0 }, "maxwind": { "mph": 10, "kph": 16, "dir": "NE", "degrees": 43 }, "avewind": { "mph": 8, "kph": 13, "dir": "NE", "degrees": 43 }, "avehumidity": 66, "maxhumidity": 0, "minhumidity": 0 } ] } } } 

And here is my code so far (for the first day fragment)

 class RequestCurrentMplsWeatherTask extends AsyncTask<String, String, String>{ @Override protected String doInBackground(String... uri) { String responseString = null; try { HttpClient client = new DefaultHttpClient(); URI apiCall = new URI("http://api.wunderground.com/api/MYID/forecast10day/q/MN/Minneapolis.json"); HttpGet request = new HttpGet(); request.setURI(apiCall); HttpResponse response = client.execute(request); responseString = EntityUtils.toString(response.getEntity()); } catch (Exception e) { Log.e(TAG, "some sort of problem encountered", e); } return responseString; } @Override protected void onPostExecute(String result) { super.onPostExecute(result); if (result != null ){ Log.i(TAG, "result data was \\n" + result); try { JSONObject jsonWeather = new JSONObject(result); JSONObject weatherForecast = jsonWeather.getJSONObject("forecast"); JSONObject simpleForecast = weatherForecast.getJSONObject("simpleforecast"); JSONArray forecastArray = simpleForecast.getJSONArray("forecastday"); for (int i = 0; i < forecastArray.length(); i++) { JSONObject fa = forecastArray.getJSONObject(i); JSONArray highArray = fa.getJSONArray("high"); for (int h = 0; h < highArray.length(); h++) { JSONObject ha = highArray.getJSONObject(h); JSONObject fahrenheit = ha.getJSONObject("fahrenheit"); TextView output1 = (TextView)findViewById(R.id.today_temp); output1.setText("" + fahrenheit); break; } JSONObject conditions = fa.getJSONObject("conditions"); //JSONObject conditionsArray = fa.getJSONObject("conditions"); TextView output2 = (TextView)findViewById(R.id.fctext); output2.setText("" + conditions); break; } //String forecastArrayResult = weatherForecast.getString("temp_f"); } catch (JSONException jse) { Log.e(TAG, "Error parsing JSON", jse); return; } } else { Log.i(TAG, "String returned was Null, check doInBackground for errors"); } } } 

I thought maybe the best way to get each day's forecast would be to run a loop on the JSON sets and just print on the "period"s that correspond to each day. I, however, can't figure out how to print the aforementioned temperature and forecast data to a parameter set by a for loop with JSON.

If anyone can help me figure out how to get the current day forecast at least, I would be happy. But if I could be enlightened in any other way, please let me know. Thanks.

I see the error, your trying to get JsonArray instead of JsonObject, to verify you can use the next page to see your json http://www.jsoneditoronline.org/

You change your code. here is my code.

@Override
protected void onPostExecute(String result) {
    super.onPostExecute(result);
    if (result != null) {
        Log.i(TAG, "result data was \n" + result);
        try {
            JSONObject jsonWeather = new JSONObject(result);
            JSONObject weatherForecast = jsonWeather
                    .getJSONObject("forecast");
            JSONObject simpleForecast = weatherForecast
                    .getJSONObject("simpleforecast");
            JSONArray forecastArray = simpleForecast
                    .getJSONArray("forecastday");
            for (int i = 0; i < forecastArray.length(); i++) {
                JSONObject fa = forecastArray.getJSONObject(i);
                JSONObject highArray = fa.getJSONObject("high");
                //for (int h = 0; h < highArray.length(); h++) {
                    String fahrenheit = highArray.getString("fahrenheit");
                    //JSONObject fahrenheit = ha.getJSONObject("fahrenheit");
                    Log.v(TAG, "-fa-" + fahrenheit);
                    //break;
                //}
                String conditions = fa.getString("conditions");
                // JSONObject conditionsArray =
                // fa.getJSONObject("conditions");
                // TextView output2 = (TextView)findViewById(R.id.fctext);
                // output2.setText("" + conditions);
                Log.v(TAG, "-Con-" + conditions);
                break;
            }

            // String forecastArrayResult =
            // weatherForecast.getString("temp_f");
        } catch (JSONException jse) {
            Log.e(TAG, "Error parsing JSON", jse);
            return;
        }
    } else {
        Log.i(TAG,
                "String returned was Null, check doInBackground for errors");
    }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM