好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Json转换工具类

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

查看更多关于Json转换工具类的详细内容...

  阅读:16次