`

gson 转换json数据利器

阅读更多
gson 数据转换json


package com.data.vo;

import com.google.gson.annotations.Expose;

public class GsonUser {
	@Expose
	private Integer gson_id;
	private String gson_name;
	public Integer getGson_id() {
		return gson_id;
	}
	
	public void setGson_id(Integer gson_id) {
		this.gson_id = gson_id;
	}
	public String getGson_name() {
		return gson_name;
	}
	public void setGson_name(String gson_name) {
		this.gson_name = gson_name;
	}

	public GsonUser(Integer gson_id, String gson_name) {
		super();
		this.gson_id = gson_id;
		this.gson_name = gson_name;
	}

	public GsonUser() {
		super();
	}
}



package com.data.test;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.junit.Before;
import org.junit.Test;

import com.data.vo.GsonUser;
import com.google.common.reflect.TypeToken;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;


public class Commontest {
	
	private Gson gson = null; 
	  
    private GsonBuilder gsonBuilder = null; 
    String gsonToString  = null;
    GsonUser gsonUser1 = new GsonUser(1,"美女");
	GsonUser gsonUser2 = new GsonUser(2,"帅哥");
    @Before
	public void setup(){
		gson = new Gson();
		gsonBuilder = new GsonBuilder();
	}

	//@Test bean
	public void testGson(){
		GsonUser gsonUser = new GsonUser();
		gsonUser.setGson_id(1);
		gsonUser.setGson_name("美女");
		GsonBuilder builder = new GsonBuilder();
		 // 不转换没有 @Expose 注解的字段
		//builder.excludeFieldsWithoutExposeAnnotation();
		Gson gson =builder.create();
		String user = gson.toJson(gsonUser);
		System.out.println(user);//{"gson_id":1,"gson_name":"美女"}
		 // 将JSON字符串转换为 JavaBean
		GsonUser user2 = gson.fromJson(user, GsonUser.class);
		System.out.println(user2.getGson_id()+","+user2.getGson_name());
	}
	
	//@Test  
	public void testList(){//list
		List<Object> list = new ArrayList<Object>();
		
		list.add(gsonUser1);list.add(gsonUser2);
		gsonToString= gson.toJson(list);
		//System.out.println(gsonToString);
		//TypeToken 通过反射 type import java.lang.reflect.Type; 将泛型对象类型转成我们所需要的对象类型  //import com.google.common.reflect.TypeToken;
		Type type = new TypeToken<List<GsonUser>>() {}.getType();//list 对象必须指定一个实体类。
		List<GsonUser> list1  = gson.fromJson(gsonToString.toString(), type);
		for (int i = 0; i < list1.size(); i++) {
			GsonUser gs = (GsonUser) list1.get(i);
			System.out.println(gs.getGson_id()+","+gs.getGson_name());
		}
		
	}
	
	@Test
	public void testMap(){//map
		Map<String, GsonUser> userMap = new HashMap<String, GsonUser>();
		userMap.put("gs", gsonUser1);userMap.put("ps1", gsonUser2);
		String gsonToString =gson.toJson(userMap);
		System.out.println(gsonToString);
		Type type = new TypeToken<Map<String,GsonUser>>() {}.getType();
		Map<String, GsonUser> map  = gson.fromJson(gsonToString, type);
		GsonUser u = map.get("gs");
		System.out.println(u.getGson_id()+","+u.getGson_name());	
	}
}



另外还有阿里巴巴的fastjson也不错

Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。
public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
public static final JSONObject parseObject(String text); // 把JSON文本parse成JSONObject   
public static final <T> T parseObject(String text, Class<T> clazz); // 把JSON文本parse为JavaBean
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
public static final <T> List<T> parseArray(String text, Class<T> clazz); //把JSON文本parse成JavaBean集合
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
public static final String toJSONString(Object object, boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject); 将JavaBean转换为JSONObject或者JSONArray。

这里就不联系demo了
http://blog.csdn.net/wilsonke/article/details/37921571

分享到:
评论

相关推荐

    gson 2.3.1 json转换利器

    Gson 2.3.1作为一款高效的JSON转换工具,其简洁的API和强大的功能使得在Java和Android项目中处理JSON数据变得简单。通过理解和熟练掌握Gson的用法,开发者可以更便捷地进行数据交换和存储,提升项目的开发效率。在...

    Json转换利器Gson实例代码

    Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java 类库。可以将一个 JSON 字符串转成一个 Java 对象,或者反过来。 Json转换利器Gson之实例一-简单对象转化和带泛型的List转化 ...

    Json转换利器Gson实例代码,java对象或者list转换为json字符串

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

    Java对象和JSON互转换利器-Gson

    Gson作为Java对象和JSON转换的利器,通过其强大的功能和简洁的API,简化了开发者在JSON数据处理中的工作。无论是基本类型还是复杂对象,Gson都能轻松应对,同时提供了自定义转换的灵活性,使得在实际项目中更加...

    Json转换利器Gson

    NULL 博文链接:https://bdk82924.iteye.com/blog/1988977

    gson-jar的资源,处理json字符串请下载

    总结来说,Gson-jar资源是Java开发中处理JSON的利器,提供了方便、高效的序列化和反序列化功能,对于任何需要与JSON格式数据打交道的Java项目来说,都是不可或缺的工具。使用Gson,你可以轻松地在Java对象和JSON之间...

    gson2.7.jar

    1. **类型转换安全**:Gson能够自动检测并处理类型转换错误,确保在从JSON到Java的转换过程中不会丢失数据或引发异常。 2. **注解支持**:通过使用Java注解,如`@Expose`和`@SerializedName`,可以控制哪些字段应该...

    flash2316.rar

    例如,一个Person对象可以通过Gson转换为相应的JSON表示。 3. 自定义序列化与反序列化:开发者可以通过实现`JsonSerializer`和`JsonDeserializer`接口来自定义对象的转换规则,满足特定需求,比如忽略某些字段、...

    gson-2.3.1.zip

    Gson通过反射机制,可以自动将JSON字符串映射到对应的Java对象,或者将Java对象转换为JSON字符串,极大地简化了数据处理的工作。 具体来说,Gson库的主要类有以下几个: 1. `Gson`:这是核心类,用于创建和配置...

    gson-2.7.jar包

    总之,Gson-2.7.jar是Java开发中处理JSON数据的利器,其高效、灵活的特点使其在各种项目中都有广泛的应用。无论是新手还是经验丰富的开发者,都能从中受益,轻松地在Java对象和JSON数据之间穿梭。

    json格式数据解析工具类

    总的来说,这个“json格式数据解析工具类”是Java开发中处理JSON数据的一个利器,它简化了JSON数据的解析过程,让开发者能更专注于业务逻辑,而不是基础的数据转换工作。通过学习和熟练掌握这个工具类的使用,能够...

    Json一键转Javabean工具

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web应用程序之间传递数据。JavaBean是Java编程中的一个概念,它是一...如果你在处理大量JSON数据时,这样的工具无疑会是你不可或缺的利器。

    ezmorph-1.0.6

    《ezmorph-1.0.6:Java中的JSON转换利器》 在Java开发中,处理JSON数据是一项常见的任务。为了高效、便捷地进行JSON对象与Java对象之间的转换,开发者们通常会依赖一些库来实现这一功能。其中,“ezmorph-1.0.6”...

    com.alibaba.fastjson json解析工具包

    它的解析速度和序列化速度都超过了其他许多流行的JSON库,如Jackson和Gson,这使得它在高并发、大数据量的环境中尤为适用。 在使用`fastjson-1.2.73`版本时,开发者可以利用其提供的API进行JSON操作。例如,解析...

    Json生成实体类工具

    JSON(JavaScript Object Notation)是一种轻量级...对于Android开发者来说,它是一个不可或缺的利器,特别是在处理大量JSON数据时。通过合理利用这样的工具,可以让我们更专注于业务逻辑,而不是基础的数据转换工作。

    Asy+httpcore+gson.zip

    总结来说,AsyncHttp、HttpCore和Gson分别是处理异步网络请求、基础HTTP协议操作和JSON解析的利器。它们在Java和Android开发中广泛应用,帮助开发者高效地处理网络通信和数据交换。通过将这三个库集成到项目中,...

    json.org.jar

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于Web服务和应用程序之间的数据传输。它的设计目标是尽可能地易于阅读和编写,同时也易于机器解析和生成。`json.org.jar` 是一个与JSON相关...

    Json jar包

    JSON(JavaScript Object Notation)...总之,"Json jar包"是Java开发中处理JSON数据的利器,它的存在简化了数据交换的流程,提高了开发效率。合理利用这个库,可以更好地实现Java应用与服务器或客户端之间的数据交互。

    fast-json.zip

    与Gson、Jackson等其他流行JSON库相比,FastJson在速度上具有明显优势,尤其在处理大规模数据时,其内存效率也更优。然而,FastJson的API相对简单,功能可能不如其他库全面,因此在特定场景下,开发者需要根据项目...

    jar包fastjson-1.2.75.zip

    总的来说,Fastjson是Java开发者处理JSON数据的利器,无论是在小型项目还是大数据处理场景,其强大的性能和丰富的功能都使得它成为首选的JSON库之一。通过理解并熟练使用Fastjson,可以显著提升开发效率,简化JSON...

Global site tag (gtag.js) - Google Analytics