Json转换工具类
程序员文章站
2024-02-23 16:18:04
json字符串是常用的数据格式,下面提供一个json和javabean转换的工具类,它其实也是基于jackson的:
package com.csdn.myboo...
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; }
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接