Android中使用Gson解析JSON数据

转载 2013年12月02日 10:50:45

在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数据:

通过获取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数据映射成一个对象,使用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对象数据进行相应的操作:

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对象,则可以直接使用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());
除了文章中有特别说明,均为IT宅原创文章,转载请以链接形式注明出处。
本文链接:http://www.itzhai.com/android-to-parse-json-data-using-gson.html
关键字

相关文章推荐

Android Studio配置与使用GSON框架解析json数据

Android Studio配置与使用Gson框架解析json数据[toc] 这里使用一个联动的spinner来演示何如使用Gson解析json数据一、配置gson环境单击Open Module S...

Android使用Gson解析JSON数据

package com.gaoo.httpclientdemo;import android.os.Bundle; import android.support.v7.app.AppCompatAct...

Android基础之使用Gson解析json数据 第一弹

Android基础之使用Gson解析json数据 第一弹首先介绍一下JSON数据的格式 JSON数据 JSON对象 实体类对象 {……..} JSONObject Map [...

Android:使用Gson解析复杂的JSON数据

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,目前广泛使用。本文主要讲解android如何解析复杂格式的JSON数据,适合android初学者和初步接触...

Android之使用GSON解析JSON数据

GSON简介:GSON是Google提供的用来在Java对象和JSON数据之间进行映射的Java类库。GSON可以很容易的将一串JSON数据转换为一个Java对象,或是将一个Java对象转换为相应的J...
  • ygd1994
  • ygd1994
  • 2016年05月08日 18:49
  • 1833

Android:使用Gson解析复杂的JSON数据

本文主要讲解android如何解析复杂格式的JSON数据,适合android初学者和初步接触JSON的人。...

Android JSON数据格式的解析,与简单对象、带泛型的List和Map的转换,以及GSON的使用

首先,这里要先说一下 JSON 的语法。 1、使用 JSON 语法创建对象         如图,创建 object 时,总是以 “{” 开始,以 “}” 结束,对象的每个属性和属性值之间以英文冒...

Android中使用Gson解析JSON数据的两种方法

Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下 Json是一种类似于XML的通用数据交换格式,具有比XML更高的传...

Android--使用Gson解析JSON数据

Json是一种类似于XML的通用数据交换格式,具有比XML更高的传输效率;本文将介绍两种方法解析JSON数据,需要的朋友可以参考下 Json是一种类似于XML的通用数据交换格式,具有比XML更高的传...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android中使用Gson解析JSON数据
举报原因:
原因补充:

(最多只允许输入30个字)