AndroidでGsonを使用してJSONデータを解析し、JSONデータを1つのオブジェクトにマッピングする


AndroidでGsonを使ってJSONデータを解析できます
まず、code.google.com/p/google-gson/downloads/listダウンロードGsonAPI:
google-gson-1.7.1-release.zip
gson-1.7.JAr copyはlibs(プロジェクトルートディレクトリにlibsフォルダを新規作成)にあります.
JSONデータを解析するには、次の2つの方法があります.
JsonReaderオブジェクト解析JSONデータを取得する:
String jsonData = "[{\"username\":\"arthinking\",\"userId\":001},{\"username\":\"Jason\",\"userId\":002}]";
try{
	JsonReader reader = new JsonReader(new StringReader(jsonData));
	reader.beginArray();
	while(reader.hasNext()){
		reader.beginObject();
		while(reader.hasNext()){
			String tagName = reader.nextName();
			if(tagName.equals("username")){
				System.out.println(reader.nextString());
			}
			else if(tagName.equals("userId")){
				System.out.println(reader.nextString());
			}
		}
		reader.endObject();
	}
	reader.endArray();
}
catch(Exception e){
	e.printStackTrace();
}

JSONデータを1つのオブジェクトにマッピングすることにより、GsonオブジェクトのfromJson()メソッドを いて1つのオブジェクト を する を う:JSONデータに する1つのPOJOオブジェクトUserを する.java:
public class User {
	private String username ;
	private int userId ;
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public int getUserId() {
		return userId;
	}
	public void setUserId(int userId) {
		this.userId = userId;
	}
}

Gsonオブジェクトを してUserオブジェクトデータを し、 する を います.
Type listType = new TypeToken<LinkedList<User>>(){}.getType();
Gson gson = new Gson();
LinkedList<User> users = gson.fromJson(jsonData, listType);
for (Iterator iterator = users.iterator(); iterator.hasNext();) {
	User user = (User) iterator.next();
	System.out.println(user.getUsername());
	System.out.println(user.getUserId());
}

するJSON にJSONオブジェクトが1つしか まれていない は、fromJsonを してUserオブジェクトを できます.
String jsonData = "{\"username\":\"arthinking\",\"userId\":001}";
Gson gson = new Gson();
User user = gson.fromJson(jsonData, User.class);
System.out.println(user.getUsername());
System.out.println(user.getUserId());

http://www.itzhai.com/android-to-parse-json-data-using-gson.htmlJSONObject  allresult;
Gsonの のより な :
http://www.360doc.com/content/11/0815/14/7322578_140545909.shtml