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データを取得する:
まず、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