Fastjson的基本使用

23 篇文章 1 订阅
8 篇文章 0 订阅

Fastjson的基本使用

  • 使用fastjson实现指定对象类型与String类型进行相互转换,在此记录下

场景:

  • 在使用redis进行缓存操作时,由于jedis中的set(String key,String value),value值需要是String类型,所以需要将要储存的bean对象转化为String(建立一个beanToString方法)
/**
*实现将java对象转化为String,
**/
private <T> String beanToString(T value) {
		if(value == null) {
			return null;
		}
		Class<?> clazz = value.getClass();
		if(clazz == int.class || clazz == Integer.class) {
			 return ""+value;
		}else if(clazz == String.class) {
			 return (String)value;
		}else if(clazz == long.class || clazz == Long.class) {
			return ""+value;
		}else {
			return JSON.toJSONString(value);
		}
	}

同理,从redis中获取数据后也要将返回的String对象转化为指定的bean对象以供后续操作

/**
*实现将String对象转化为指定的类对象
*/
private <T> T stringToBean(String str, Class<T> clazz) {
		if(str == null || str.length() <= 0 || clazz == null) {
			 return null;
		}
		if(clazz == int.class || clazz == Integer.class) {
			 return (T)Integer.valueOf(str);
		}else if(clazz == String.class) {
			 return (T)str;
		}else if(clazz == long.class || clazz == Long.class) {
			return  (T)Long.valueOf(str);
		}else {
			return JSON.toJavaObject(JSON.parseObject(str), clazz);
		}
	}

总结:
通过fastjson框架中的JSON.toJSONString()和JSON.toJavaObject()的可以很方便的实现String类型和其他指定类型的转换(使用到泛型),使得redis的数据操作非常方便。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值