Android中使用Gson解析JSON数据的两种方法
方法一:通过获取JsonReader对象解析JSON数据:

创新互联专业为企业提供营口网站建设、营口做网站、营口网站设计、营口网站制作等企业网站建设、网页设计与制作、营口企业网站模板建站服务,10多年营口做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
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数据映射成一个对象,使用Gson对象的fromJson()方法获取一个对象数组进行操作:
创建JSON数据对应的一个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对象数据进行相应的操作:
ype listType = new TypeToken>(){}.getType(); Gson gson = new Gson(); LinkedList 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对象,则可以直接使用fromJson获取一个User对象:
tring 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());
网站标题:Android中使用Gson解析JSON数据的两种方法
URL地址:http://www.jxjierui.cn/article/jooohc.html


咨询
建站咨询
