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

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

服务器之家 - 编程语言 - Java教程 - Java实现的JSONUtil工具类与用法示例

Java实现的JSONUtil工具类与用法示例

2021-05-13 11:41黄宝康 Java教程

这篇文章主要介绍了Java实现的JSONUtil工具类与用法,结合实例形式分析了Java操作json格式数据工具类JSONUtil的定义与简单使用技巧,需要的朋友可以参考下

本文实例讲述了Java实现的JSONUtil工具类与用法。分享给大家供大家参考,具体如下:

?
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
69
70
71
72
73
74
75
76
77
78
import java.util.HashMap;
import java.util.Map;
import com.alibaba.druid.util.StringUtils;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class JSONUtils {
  /**
   * Bean对象转JSON
   *
   * @param object
   * @param dataFormatString
   * @return
   */
  public static String beanToJson(Object object, String dataFormatString) {
    if (object != null) {
      if (StringUtils.isEmpty(dataFormatString)) {
        return JSONObject.toJSONString(object);
      }
      return JSON.toJSONStringWithDateFormat(object, dataFormatString);
    } else {
      return null;
    }
  }
  /**
   * Bean对象转JSON
   *
   * @param object
   * @return
   */
  public static String beanToJson(Object object) {
    if (object != null) {
      return JSON.toJSONString(object);
    } else {
      return null;
    }
  }
  /**
   * String转JSON字符串
   *
   * @param key
   * @param value
   * @return
   */
  public static String stringToJsonByFastjson(String key, String value) {
    if (StringUtils.isEmpty(key) || StringUtils.isEmpty(value)) {
      return null;
    }
    Map<String, String> map = new HashMap<String, String>();
    map.put(key, value);
    return beanToJson(map, null);
  }
  /**
   * 将json字符串转换成对象
   *
   * @param json
   * @param clazz
   * @return
   */
  public static Object jsonToBean(String json, Object clazz) {
    if (StringUtils.isEmpty(json) || clazz == null) {
      return null;
    }
    return JSON.parseObject(json, clazz.getClass());
  }
  /**
   * json字符串转map
   *
   * @param json
   * @return
   */
  @SuppressWarnings("unchecked")
  public static Map<String, Object> jsonToMap(String json) {
    if (StringUtils.isEmpty(json)) {
      return null;
    }
    return JSON.parseObject(json, Map.class);
  }
}

测试:

JSON字符串转map

?
1
2
3
4
5
public static void main(String[] args) {
    String jsonStr = "{'userName':'huangbaokang','password':'123456'}";
    Map<String, Object> map = JSONUtils.jsonToMap(jsonStr);
    System.out.println(map.get("userName"));
}

输出:

huangbaokang

JSON字符串转对象:

新建User类

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class User {
  private String userName;
  private String password;
  public String getUserName() {
    return userName;
  }
  public void setUserName(String userName) {
    this.userName = userName;
  }
  public String getPassword() {
    return password;
  }
  public void setPassword(String password) {
    this.password = password;
  }
}
public static void main(String[] args) {
    String jsonStr = "{'userName':'huangbaokang','password':'123456'}";
    User user = (User) JSONUtils.jsonToBean(jsonStr, new User());
    System.out.println("用户名="+user.getUserName()+" 密码="+user.getPassword());
}

测试输出:

输出用户名=huangbaokang 密码=123456

对象转JSON

?
1
2
3
4
5
6
7
public static void main(String[] args) {
    User user = new User();
    user.setUserName("huangbaokang");
    user.setPassword("123456");
    String result = JSONUtils.beanToJson(user);
    System.out.println(result);
}

测试输出:

{"password":"123456","userName":"huangbaokang"}

在这里工具类应用的jar为阿里巴巴的fastjson,在lib中加入相关jar。

希望本文所述对大家java程序设计有所帮助。

原文链接:https://blog.csdn.net/huangbaokang/article/details/78042956

延伸 · 阅读

精彩推荐
  • Java教程Java经典用法总结(二)

    Java经典用法总结(二)

    这篇文章主要介绍了Java经典用法总结,在本文中,尽量收集一些java最常用的习惯用法,特别是很难猜到的用法,本文重点讲解了java应用和输入输出常用方...

    lijiao3502020-03-28
  • Java教程简单讲解java中throws与throw的区别

    简单讲解java中throws与throw的区别

    这篇文章主要介绍了简单讲解java中throws与throw的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们...

    @ 小浩4662020-07-18
  • Java教程一文解决springboot打包成jar文件无法正常运行的问题

    一文解决springboot打包成jar文件无法正常运行的问题

    这篇文章主要介绍了一文解决springboot打包成jar文件无法正常运行的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要...

    xiaoxiong_blog9742020-07-09
  • Java教程Springcloud服务注册consul客户端过程解析

    Springcloud服务注册consul客户端过程解析

    这篇文章主要介绍了Springcloud服务注册consul客户端过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友...

    陶海军1942020-08-19
  • Java教程HttpServletRequest对象常用功能_动力节点Java学院整理

    HttpServletRequest对象常用功能_动力节点Java学院整理

    这篇文章主要为大家详细介绍了HttpServletRequest对象常用功能的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...

    fjdingsd2522020-12-06
  • Java教程浅谈java中Map的用法

    浅谈java中Map的用法

    Map简介:将键映射到值的对象。一个映射不能包含重复的键;每个键最多只能映射到一个值。此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个...

    hebedich2062020-01-08
  • Java教程Spring JdbcTemplate整合使用方法及原理详解

    Spring JdbcTemplate整合使用方法及原理详解

    这篇文章主要介绍了Spring JdbcTemplate整合使用方法及原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋...

    柒丶月3332020-08-17
  • Java教程java实现301跳转和重定向的方法

    java实现301跳转和重定向的方法

    301跳转和重定向是做项目的时候经常需要用到的,本文给大家分享的是在java中301跳转和重定向的方法,需要的小伙伴参考下吧。 ...

    hebedich5822019-12-12