Gson转换JSON字符串和Java对象

最近在Web开发中,用到Json和Ajax传数据,需要实现对象和Json字符串的转换,尝试了多种方法和类库,发现还是Gson比较好用。

Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,反之亦可。

jar包下载地址:http://code.google.com/p/google-gson/downloads/list

不过Goole有时访问不了,可以用这个地址:http://mvnrepository.com/search?q=gson

更详细的内容可以参考这个博客:http://blog.csdn.net/lk_blog/article/details/7685169

下面动手实现一个简单的Gson测试Demo:

package com.demo.util;

import java.util.ArrayList;
import java.util.List;

import com.demo.domain.Account;
import com.google.gson.*;
import com.google.gson.reflect.TypeToken;
public class GsonTest {

	public static void main(String[] args){
		Gson gson =new Gson();

		Account account = new Account();
		account.setId(0);
		account.setUsername("bowen");
		account.setPassword("123");
		account.setEmail("[email protected]");

		System.out.println("Convert Bean to Json String...");
		String strJson1 = gson.toJson(account);
		System.out.println(strJson1);

		System.out.println("Convert Json String to Bean...");
		Account account0 = gson.fromJson(strJson1, Account.class);
		System.out.println("Account:"+account0);

		Account account1 = new Account();
		account1.setId(1);
		account1.setUsername("bowen");
		account1.setPassword("123");
		account1.setEmail("[email protected]");

		Account account2 = new Account();
		account2.setId(2);
		account2.setUsername("bowen");
		account2.setPassword("123");
		account2.setEmail("[email protected]");

		List<Account> list = new ArrayList<Account>();
		list.add(account0);
		list.add(account1);
		list.add(account2);
		System.out.println("Convert Bean list to Json String...");
		String strJson2 = gson.toJson(list);
		System.out.println(strJson2);

		System.out.println("Convert Json String to Bean list...");
		List<Account> accountList = gson.fromJson(strJson2,
				new TypeToken<List<Account>>(){}.getType());
		for(Account a: accountList){
			System.out.println(a);
		}
	}
}

运行结果:

Convert Bean to Json String...
{"id":0,"username":"bowen","password":"123","email":"[email protected]"}
Convert Json String to Bean...
Account:[email protected]
Convert Bean list to Json String...
[{"id":0,"username":"bowen","password":"123","email":"[email protected]"},{"id":1,"username":"bowen","password":"123","email":"[email protected]"},{"id":2,"username":"bowen","password":"123","email":"[email protected]"}]
Convert Json String to Bean list...
[email protected]
[email protected]
[email protected]

个人比较懒,对于实现同一个功能,还是越简单越好啦~

时间: 2024-11-08 09:00:13

Gson转换JSON字符串和Java对象的相关文章

java json数据转List对象的集合-----阿里巴巴插件---及原生json---JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】

List<RunfastFullLess> list=(List<RunfastFullLess>)JSONArray.parseObject(activity.getFullLesss(),RunfastFullLess.class); 使用阿里巴巴的json插件 <!--json数据转换的阿里巴巴依赖库--><dependency> <groupId>com.alibaba</groupId> <artifactId>

转载-------- JSON 与 对象 、集合 之间的转换 JSON字符串和java对象的互转【json-lib】

转载--*--*---- 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好,下面先看下JSON的格式, JSON可以有两种格式,一种是对象格式的,另一种是数组对象, {"name":"JSON","address":"北京市西城区","age":25}//JS

JSON 字符串 与 java 对象的转换

jsonLib 经典文章:http://json-lib.sourceforge.net/xref-test/net/sf/json/TestJSONObject.html // 引入相应的包 //json-lib-2.2-jdk15.jar import net.sf.json.JSONArray;import net.sf.json.JSONObject; 1. //把java 对象列表转换为json对象数组,并转为字符串 JSONArray array = JSONArray.fromOb

Json对象与Json字符串的转化、JSON字符串与Java对象的转换

Json对象与Json字符串的转化.JSON字符串与Java对象的转换 一.Json对象与Json字符串的转化 1.jQuery插件支持的转换方式: $.parseJSON( jsonstr ); //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对象 2.浏览器支持的转换方式(Firefox,chrome,opera,safari,ie9,ie8)等浏览器: JSON.stringify(obj)将JSON转为字符串.JSON.parse(string)

JSON字符串与java对象的转换

所需的jar包: 1.commons-lang.jar 2.commons-beanutils.jar 3.commons-collections.jar 4.commons-logging.jar 5.ezmorph.jar 6.json-lib-2.2.2-jdk15.jar 1. 把java 对象列表转换为json对象数组,并转为字符串 JSONArray array = JSONArray.fromObject(userlist); String jsonstr = array.toSt

JSON 字符串 与 java 对象之间互相转换

首先引入maven需要依赖的jar: <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> 需要导入的类: import net.sf.json

Json字符串转换为java对象

1.  Json字符串转换为java对象 1.1.  Json字符串转换为java bean Json2Bean.java package jackson; import java.io.IOException; import org.codehaus.jackson.map.ObjectMapper; public class Json2Bean { public static void main(String[] args) throws IOException{ String jsonSt

json字符串与java对象的相互转换(jackson)

1.java对象转换为json字符串 package com.chichung.json; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; public class JavaToJson { public static void main(String[] args) throws JsonProcessingExcepti

json字符串与java对象互转

在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好,下面先看下JSON的格式, JSON可以有两种格式,一种是对象格式的,另一种是数组对象, {"name":"JSON","address":"北京市西城区","age":25}//JSON的对象格式的字符串 [