Android學習筆記 - JSON篇

1.什麼是JSON
 1.Javascript Object Notation
 2.JSON數據是一系列鍵值對的集合
 3.JSON已經被大多數開發人員接受,在網絡當中傳輸數據中應用非常廣泛
 4.JSON相對於XML來講解析稍微簡單一些

 

2.JSON與XML
 1.JSON和XML的數據可讀性基本相同
 2.JSON和XML同樣擁有豐富的解析手段
 3.JSON相對於XML來講,數據體積小
 4.JSON與Javascript的交互更方便
 5.JSON對數據的描述性相對較差
 
3.JOSN數據格式

	[{
		"Name":"dier",
		"Address":{
			"City":"Shantou",
			"Postcode":"515000"
		}
	},{
		"Name":"dier",
		"Address":{
			"City":"Shantou",
			"Postcode":"515000"
		}
	}]

4.使用Gson解析JSON數據
 官方網站:
http://code.google.com/p/google-gson/
 
 1.在項目中新建libs目錄
 2.將gson-1.6.jar包,拷貝到項目中的libs目錄
 3.在包上面右鍵 - Build Path - Add Build Path
 4.JSON解析方法
 [{"name":"dier","age":"30"},{"name":"leeq","age":"23"}]
 

 第一種解析方式:流水式解析

	public void parseJson(string data){
		JsonReader reader = new JsonReader(new StringReader(data));
		reader.beginArray();
		while(reader.hasNext()){
			reader.beginObject();
			while(reader.hasNext()){
				String tagName = reader.nextName();
				if(tagName.equals("name")){
					System.out.println("name is " + reader.nextString());
				}else if(tagName.equals("age")){
					System.out.println("age is " + reader.nextString());
				}
			}
			reader.endObject();
		}
		reader.endArray();
	}


 第二種解析方式:對象解析

	public class User{
		private String name;
		private int age;
		//get set get set 省略
	}
	
	Gson gson = new Gson();
	User user = gson.fromJson(data, User.class);
	
	Type listType = new TypeToken<LinkedList<User>>(){}.getType();
	Gson gson = new Gson();
	LinkedList<User> users = gson.fromJson(data, listType);
	for(Iterator iterator = users.iterator(); iterator.hasNext();)
		User user = (User)iterator.next();
		System.out.printLn(user.getName() + user.getAge());
	}


 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章