写一个将一个String类型的json经过base64加密后解密转化成javaBean的工具类

      这个是由于自身需要,所写的一个工具类。代码不多,几十行主代码。主要用到3个jar包。

     功能:可以将String类型的JSON格式的字符串(经过base64加密过得)解密后,添加到javaBean里面去。

      用法:主需要调用静态方法,传入字符串,和javaBean.返回值是javaBean.

   1.jar包

        (1)一个JSON包。

        (2)base64包

         (3)BeanUtil工具包

  

   2.代码

    (1)这个是utilbase64类。用途是,把接受到的字节进行解码,返回String字符串。

package Util;

import org.apache.commons.codec.binary.Base64;
import org.junit.Test;


public class UtilBase64 {
	static String str=null;
	
	
	public static  String decodeBase64(final byte[] bytes){
		if(bytes!=null){
			str=new String(Base64.decodeBase64(bytes));	
			return str;
		}	else{
			
			return null;
		}			
		
	}
	
	
}

        (2)这个是UtilJsonToJava. 工具核心类

 

package Util;

import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Iterator;

import net.sf.json.JSONObject;

import org.apache.commons.beanutils.BeanUtils;


/**
 * 
 * 接受Base64编码 javaBean对象,返回JAVA对象
 * @author 
 *
 */
public class UtilJsonToJava {
 
	public static <T>T UtilJsonToJava(String bytes,T javaBean) throws IllegalAccessException, InvocationTargetException{
		//建立BeanUtils 对象
		BeanUtils bean=new BeanUtils();
		//把String类型的bytes转换成byte[]
		byte[] Bytes=bytes.getBytes();
		//得到String类型的json格式
		String json=UtilBase64.decodeBase64(Bytes);
		//把String类型的json转换成JSONObject
		JSONObject jsonObject =new JSONObject().fromObject(json);
		
		//遍历JSONObject 添加到javaBean中去
		
		
		Iterator it=jsonObject.keys();
		while(it.hasNext()){
			String key=(String)it.next();
			String value=(String)jsonObject.get(key);
			bean.copyProperty(javaBean, key, value);						
		}	
		return javaBean;
	}
	
	
}


3.写一个测试类。测试一下效果


    (1)先写一个JavaBean

      

package Test;

public class javaBean {
  private String id;
  private String name;
public javaBean() {
	super();
	// TODO Auto-generated constructor stub
}
public javaBean(String id, String name) {
	super();
	this.id = id;
	this.name = name;
}
@Override
public String toString() {
	return "javaBean [id=" + id + ", name=" + name + "]";
}
public String getId() {
	return id;
}
public void setId(String id) {
	this.id = id;
}
public String getName() {
	return name;
}
public void setName(String name) {
	this.name = name;
}
}


   (2)再写一个模拟传入字符串

  

//测试UtilJsonToJava
	@Test
	public void testUtilToJava() {
		//模拟一个加了密的json字符串
		String stt="{\"id\":\"3\",\"name\":\"博客\"}";
		//加密
		String st=Base64.encodeBase64String(stt.getBytes());
		System.out.println(st);
		try {
			System.out.println(UtilJsonToJava.UtilJsonToJava(st, new javaBean()).toString());
		} catch (IllegalAccessException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (InvocationTargetException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
		
	}


4.得到的结果是

//这个是:加密的编码

eyJpZCI6IjMiLCJuYW1lIjoisqm/zSJ9

//这个是一个javaBean类

javaBean [id=3, name=博客]

   欢迎留言,多给点鼓励。谢谢


  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值