本文實例講述了Java實現(xiàn)的JSONUtil工具類與用法。分享給大家供大家參考,具體如下:
宜君ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
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; } Mapmap = new HashMap (); 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 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'}"; Mapmap = 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操作,這里再為大家推薦幾款比較實用的json在線工具供大家參考使用:
在線JSON代碼檢驗、檢驗、美化、格式化工具:
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é)運算技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》及《Java操作DOM節(jié)點技巧總結(jié)》
希望本文所述對大家java程序設(shè)計有所幫助。