首页 > 编程 > Java > 正文

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

2019-11-26 09:51:38
字体:
来源:转载
供稿:网友

本文实例讲述了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.VeVB.COm/code/json

JSON在线格式化工具:
http://tools.VeVB.COm/code/jsonformat

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

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

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

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

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表