服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|易语言|

服务器之家 - 编程语言 - Java教程 - Json转换工具类

Json转换工具类

2021-07-09 15:23Haozz_1994 Java教程

今天小编就为大家分享一篇关于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

延伸 · 阅读

精彩推荐