今天小编就为大家分享一篇关于Json转换工具类,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
json字符串是常用的数据格式,下面提供一个json和javabean转换的工具类,它其实也是基于jackson的:package com.csdn.myboot.utils;
import com.fasterxml.jackson.core.jsonprocessingexception;
import com.fasterxml.jackson.databind.javatype;
import com.fasterxml.jackson.databind.objectmapper;
import java.util.list;
/**
* @title: jsonutils.java
* @package com.lee.utils
* @description: 自定义响应结构, 转换类
* copyright: copyright (c) 2016
* company:nathan.lee.salvatore
* @author leechenxiang
* @date 2016年4月29日 下午11:05:03
* @version v1.0
**/
public class jsonutils {
// 定义jackson对象
private static final objectmapper mapper = new objectmapper();
/**
* 将对象转换成json字符串。
* <p>title: pojotojson</p>
* <p>description: </p>
* @param data
* @return
**/
public static string objecttojson(object data) {
try {
string string = mapper.writevalueasstring(data);
return string;
} catch (jsonprocessingexception e) {
e.printstacktrace();
}
return null;
}
/**
* 将json结果集转化为对象
* @param jsondata json数据
* @param clazz 对象中的object类型
* @return
**/
public static <t> t jsontopojo(string jsondata, class<t> beantype) {
try {
t t = mapper.readvalue(jsondata, beantype);
return t;
} catch (exception e) {
e.printstacktrace();
}
return null;
}
/**
* 将json数据转换成pojo对象list
* <p>title: jsontolist</p>
* <p>description: </p>
* @param jsondata
* @param beantype
* @return
**/
public static <t>list<t> jsontolist(string jsondata, class<t> beantype) {
javatype javatype = mapper.gettypefactory().constructparametrictype(list.class, beantype);
try {
list<t> list = mapper.readvalue(jsondata, javatype);
return list;
} catch (exception e) {
e.printstacktrace();
}
return null;
}
} 测试:@responsebody
@requestmapping("/hello")
public string hello(){
userdomain user7 = new userdomain();
user7.setuserid(7);
user7.setusername("cristiano ronaldo");
user7.setpassword("abc123");
user7.setphone("13900000000");
string cr7 = jsonutils.objecttojson(user7);
string c = "{"userid":7,"username":"cristiano ronaldo","password":"abc123","phone":"13900000000"}";
userdomain u = jsonutils.jsontopojo(c, userdomain.class);
system.out.println(u.tostring());
string listc = "[ "+c+" ]";
list<userdomain> list = jsonutils.jsontolist(listc,userdomain.class);
system.out.println(list);
return cr7;
} 总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对CodeAE代码之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/hz_940611/article/details/80773442
|