溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Java實(shí)現(xiàn)的JSONUtil工具類與用法示例

發(fā)布時(shí)間:2020-10-23 12:39:05 來源:腳本之家 閱讀:276 作者:黃寶康 欄目:編程語言

本文實(shí)例講述了Java實(shí)現(xiàn)的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對象轉(zhuǎn)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對象轉(zhuǎn)JSON
   *
   * @param object
   * @return
   */
  public static String beanToJson(Object object) {
    if (object != null) {
      return JSON.toJSONString(object);
    } else {
      return null;
    }
  }
  /**
   * String轉(zhuǎn)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字符串轉(zhuǎn)換成對象
   *
   * @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字符串轉(zhuǎn)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字符串轉(zhuǎn)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字符串轉(zhuǎn)對象:

新建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

對象轉(zhuǎn)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"}

在這里工具類應(yīng)用的jar為阿里巴巴的fastjson,在lib中加入相關(guān)jar。

PS:關(guān)于json操作,這里再為大家推薦幾款比較實(shí)用的json在線工具供大家參考使用:

在線JSON代碼檢驗(yàn)、檢驗(yàn)、美化、格式化工具:
http://tools.jb51.net/code/json

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

在線XML/JSON互相轉(zhuǎn)換工具:
http://tools.jb51.net/code/xmljson

json代碼在線格式化/美化/壓縮/編輯/轉(zhuǎn)換工具:
http://tools.jb51.net/code/jsoncodeformat

在線json壓縮/轉(zhuǎn)義工具:
http://tools.jb51.net/code/json_yasuo_trans

更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java操作json格式數(shù)據(jù)技巧總結(jié)》、《Java數(shù)組操作技巧總結(jié)》、《Java字符與字符串操作技巧總結(jié)》、《Java數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》及《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》

希望本文所述對大家java程序設(shè)計(jì)有所幫助。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI