首页 > 代码库 > 聚合数据android天气预报json的读取

聚合数据android天气预报json的读取

前几天一直在做一个简单的android的简单的天气预报,但是在解析json的时候遇到一些问题,因为之前没有接触过json,所以这次做得时候首先查看了json的相关知识:

首先、服务器端项目要导入json的jar包和json所依赖的jar包至builtPath路径下(这些可以到JSON-lib官网下载:http://json-lib.sourceforge.net/)

android的json解析部分都在包org.json下,主要有以下几个类: 

JSONObject:可以看作是一个json对象,这是系统中有关JSON定义的基本单元,其包含一对儿(Key/Value)数值。它对外部(External:   应用toString()方法输出的数值)调用的响应体现为一个标准的字符串(例如:{"JSON": "Hello, World"},最外被大括号包裹,其中的Key和Value被冒号":"分隔)。其对于内部(Internal)行为的操作格式略微,例如:初始化一个JSONObject实例,引用内部的put()方法添加数值:new JSONObject().put("JSON", "Hello, World!"),在Key和Value之间是以逗号","分隔。Value的类型包括:Boolean、JSONArray、JSONObject、Number、String或者默认值JSONObject.NULL object 。

JSONArray:它代表一组有序的数值。将其转换为String输出(toString)所表现的形式是用方括号包裹,数值以逗号”,”分隔(例如:  [value1,value2,value3],大家可以亲自利用简短的代码更加直观的了解其格式)。这个类的内部同样具有查询行为, get()和opt()两种方法都可以通过index索引返回指定的数值,put()方法用来添加或者替换数值。同样这个类的value类型可以包括:Boolean、JSONArray、JSONObject、Number、String或者默认值JSONObject.NULL object。

json主要就是json对象和json数组之间的转换;

 

下面就开始解析 聚合数据 天气预报的数据了(我解析的是 某地 第二天的天气):

JSONObject jsonobject= new JSONObject(jsonData);    		JSONObject result = jsonobject.getJSONObject("result");    		JSONObject data = http://www.mamicode.com/result.getJSONObject("data");    		    		String weather = data.getString("weather");    		JSONArray jsonArray = new JSONArray(weather);    			        JSONObject jsonObject = jsonArray.getJSONObject(1);	        	        JSONObject info2 = jsonObject.getJSONObject("info");	        			date = jsonObject.getString("date");			info =  info2.getString("day");								String [] stringArr= info.split(",");  //注意分隔符是需要转译滴...						temp1 = stringArr[0];			weather1 = stringArr[1];			temp2 = stringArr[2];

 

聚合数据android天气预报json的读取