日期:2014-05-16  浏览次数:20414 次

012.007.android Json解析.

其实:jsonReader这个API,是3.0以上才有的,对于市面上还有的2.X的机型不符合,也就是说,所有的2.X的机子不适用。

那么就要我们去下载google-Gson。导入这个包。

下载地址:

http://code.google.com/p/google-gson/downloads/list

要解析的内容:

 

String m = "{\"statuses\": ["
			+ "{\"calendar_id\":\"1705\",\"title\":\"(\u4eb2\u5b50)ddssd\",\"category_name\":\"\u9ed8\u8ba4\u5206\u7c7b\",\"showtime\":\"1288927800\",\"endshowtime\":\"1288931400\",\"allDay\":false,\"user\":{\"id\":1222}},"
			+ " {\"calendar_id\":\"1706\",\"title\":\"(\u65c5\u884c)\",\"category_name\":\"\u9ed8\u8ba4\u5206\u7c7b\",\"showtime\":\"1288933200\",\"endshowtime\":\"1288936800\",\"allDay\":false,\"user\":{\"id\":1222}}"
			+ "] } }";


解析结果:

 

解析步骤:看见大括号:则解析对象,看见【】,则解析数组。

举个简单的例子:

String n =
	"[{\"name\":\"zyy\",\"age\":20},{\"name\":\"zyy\",\"age\":20}]";

 

红色的叫“对象“

以【{},{}】出现的叫做数组。

解析过程:

                             jsonReader.beginArray(); 首先遇到【那么说明解析数组
			 while (jsonReader.hasNext()) { 判断有没有其他数组成员,但是接下来遇到的是”{“ 说明是对象,那么解析对象,
			 jsonReader.beginObject();
						// while (jsonReader.hasNext()) {判断有没有其他对象
			 String tagname = jsonReader.nextName();
			if (tagname.equals("name")) {
			 System.out.println("name--->"+jsonReader.nextString());
			 }else {
			 System.out.println("age--->"+jsonReader.nextInt());
			 }
			 }
			 jsonReader.endObject(); //对象解析完了,关闭对象
			 }
			jsonReader.endArray();//数据解析完了,关闭数组

 

源码下载地址:http://download.csdn.net/detail/zz20104534/6210411