gson和bson4jackson 的简单记录

本文记录了在Java开发中使用Gson和Bson4Jackson进行JSON序列化与反序列化的经验,探讨了两者的特点和适用场景。通过实例展示了如何将Java对象转换为JSON字符串以及如何从JSON数据创建Java对象。


 
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;

import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.google.gson.Gson;

import de.undercouch.bson4jackson.BsonFactory;

public class jack {
	
	public static void main(String ss[]) throws Exception
	{
		testuser t=new testuser();
		t.setId(1);
		t.setUsername("admin");
		t.setPassword("admin88888");
		
		Gson gson = new Gson();
        String str = gson.toJson(t);
	 
		FileOutputStream in = new FileOutputStream("c:/jack1.bin");
	    in.write(str.getBytes());
	    in.flush();
	    in.close();
		 
	    
		FileOutputStream baos = new FileOutputStream("c:/jack.bin");
	    ObjectMapper mapper = new ObjectMapper(new BsonFactory());
	    
	    mapper.writeValue(baos, t); 
	   
	    baos.flush();
	    baos.close();
	 
	    FileInputStream bais = new FileInputStream("c:/jack.bin");
	      
	    testuser t2 = mapper.readValue(bais, testuser.class);
	    t2.info();
	    bais.close();
		
	} 
}

//pojo testuser

public class testuser {
	     private int id; 
	    private String username;  
	    private String password ;
	    
	    public testuser() {
			// TODO Auto-generated constructor stub
		}
	    
	    public void setId(int id) {
			this.id = id;
		}
	    public void setPassword(String password) {
			this.password = password;
		}
	    public void setUsername(String username) {
			this.username = username;
		}
	    public int getId() {
			return id;
		}
	    public String getPassword() {
			return password;
		}
	    public String getUsername() {
			return username;
		}
	    public  void info()
	    {
	    	System.out.println("id:"+id+":"+username+":"+password);
	    }
}



 








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值