json字符串是常用的数据格式,下面提供一个json和javabean转换的工具类,它其实也是基于jackson的:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
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 ; } } |
测试:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
@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; } |
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/hz_940611/article/details/80773442