当前位置: 首页 > 编程笔记 >

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

孔鸿远
2023-03-14
本文向大家介绍Java实现的JSONUtil工具类与用法示例,包括了Java实现的JSONUtil工具类与用法示例的使用技巧和注意事项,需要的朋友参考一下

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

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

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类

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

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。

PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:

在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json

JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat

在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson

json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat

在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans

更多关于java相关内容感兴趣的读者可查看本站专题:《Java操作json格式数据技巧总结》、《Java数组操作技巧总结》、《Java字符与字符串操作技巧总结》、《Java数学运算技巧总结》、《Java数据结构与算法教程》及《Java操作DOM节点技巧总结》

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

 类似资料:
  • 本文向大家介绍Java实现的分页工具类与用法示例,包括了Java实现的分页工具类与用法示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java实现的分页工具类与用法。分享给大家供大家参考,具体如下: 今天闲来没事,写了一个页面的分页工具类,具有很好的兼容性与实用性哦。 不管怎么样,先来瞧一瞧: 使用方法: 里面很多的地方都会计算好,使用时只用传入三个参数: 然后直接将它的一个Page属

  • 介绍 JSONUtil是针对JSONObject和JSONArray的静态快捷方法集合,在之前的章节我们已经介绍了一些工具方法,在本章节我们将做一些补充。 使用 parseXXX和toXXX 这两种方法主要是针对JSON和其它对象之间的转换。 readXXX 这类方法主要是从JSON文件中读取JSON对象的快捷方法。包括: readJSON readJSONObject readJSONArray

  • 本文向大家介绍java实现的导出Excel工具类实例,包括了java实现的导出Excel工具类实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了java实现的导出Excel工具类。分享给大家供大家参考,具体如下: ExcelExportUtil: VerifyUtil: 更多关于java相关内容感兴趣的读者可查看本站专题:《Java操作Excel技巧总结》、《Java+MySQL数据库程

  • 本文向大家介绍Java实现的zip压缩及解压缩工具类示例,包括了Java实现的zip压缩及解压缩工具类示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java实现的zip压缩及解压缩工具类。分享给大家供大家参考,具体如下: 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java文件与目录操作技巧汇总》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》和《J

  • 本文向大家介绍Java中StringUtils工具类的一些用法实例,包括了Java中StringUtils工具类的一些用法实例的使用技巧和注意事项,需要的朋友参考一下 StringUtils 方法的操作对象是 java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 Null

  • 本文向大家介绍PHP实现的获取文件mimes类型工具类示例,包括了PHP实现的获取文件mimes类型工具类示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现的获取文件mimes类型工具类。分享给大家供大家参考,具体如下: 更多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法