Gson序列化测试


package com.soft.entity;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.annotations.Expose;

public class StuGsonAnnotation {
	//deserialize (boolean) 反序列化 默认 true
    // serialize  (boolean) 序列化 默认 true
	@Expose
	private String username;
	@Expose(serialize = false, deserialize = true)
	private String password;
	@Expose(serialize = true, deserialize = false)
	private String school;
	private String classroom;
	@Expose(serialize = false)
	private String sex;
	public StuGsonAnnotation() {
		super();
	}
	public StuGsonAnnotation(String username, String password, String school,
			String classroom, String sex) {
		super();
		this.username = username;
		this.password = password;
		this.school = school;
		this.classroom = classroom;
		this.sex = sex;
	}
 
	public String getUsername() {
		return username;
	}
 
	public String getPassword() {
		return password;
	}
 
	public String getSchool() {
		return school;
	}
 
	public String getClassroom() {
		return classroom;
	}
 
	public String getSex() {
		return sex;
	}
 
	public void setUsername(String username) {
		this.username = username;
	}
 
	public void setPassword(String password) {
		this.password = password;
	}
 
	public void setSchool(String school) {
		this.school = school;
	}
 
	public void setClassroom(String classroom) {
		this.classroom = classroom;
	}
 
	public void setSex(String sex) {
		this.sex = sex;
	}
 
	@Override
	public String toString() {
 
		String resultString = "";
		resultString += "username:" + username + "\tpassword:" + password
				+ "\tschool:" + school + "\tclassroom:" + classroom + "\tsex:"
				+ sex ;
 
		return resultString;
	}
	private  String  serial1() {
		Gson gson1 = new Gson();
		StuGsonAnnotation gsonBuilderBeanOne = new StuGsonAnnotation("144","123", "华软", "软工五班", "男");
		return gson1.toJson(gsonBuilderBeanOne);
	}
	private  String  deserial1() {
		Gson gson1 = new Gson();
		String jsonString = "{'username':'144','password':'123','school':'华软','classroom':'软工五班','sex':'男'}";
		StuGsonAnnotation beanOne = gson1.fromJson(jsonString, StuGsonAnnotation.class);
		return beanOne.toString();

	}
	private  String  serial2() {
		//创建Gson对象,没有@Expose注释的属性将不会被序列化 
		Gson gson2 = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
		StuGsonAnnotation gsonBuilderBeanOne = new StuGsonAnnotation("144","123", "华软", "软工五班", "男");
		return gson2.toJson(gsonBuilderBeanOne);
	}
	private  String  deserial2() {
		Gson gson2 = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
		String jsonString = "{'username':'144','password':'123','school':'华软','classroom':'软工五班','sex':'男'}";
		StuGsonAnnotation beanOne = gson2.fromJson(jsonString, StuGsonAnnotation.class);
		return beanOne.toString();
	}

	public static void main(String[] args) {	
		System.out.println(new StuGsonAnnotation().serial1());
		System.out.println(new StuGsonAnnotation().serial2());
		System.out.println(new StuGsonAnnotation().deserial1());
		System.out.println(new StuGsonAnnotation().deserial2());
	}

	
}
测试结果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值