Java实现的JSONUtil工具类与用法示例
本文实例讲述了Java实现的JSONUtil工具类与用法。分享给大家供大家参考,具体如下:
importjava.util.HashMap;
importjava.util.Map;
importcom.alibaba.druid.util.StringUtils;
importcom.alibaba.fastjson.JSON;
importcom.alibaba.fastjson.JSONObject;
publicclassJSONUtils{
/**
*Bean对象转JSON
*
*@paramobject
*@paramdataFormatString
*@return
*/
publicstaticStringbeanToJson(Objectobject,StringdataFormatString){
if(object!=null){
if(StringUtils.isEmpty(dataFormatString)){
returnJSONObject.toJSONString(object);
}
returnJSON.toJSONStringWithDateFormat(object,dataFormatString);
}else{
returnnull;
}
}
/**
*Bean对象转JSON
*
*@paramobject
*@return
*/
publicstaticStringbeanToJson(Objectobject){
if(object!=null){
returnJSON.toJSONString(object);
}else{
returnnull;
}
}
/**
*String转JSON字符串
*
*@paramkey
*@paramvalue
*@return
*/
publicstaticStringstringToJsonByFastjson(Stringkey,Stringvalue){
if(StringUtils.isEmpty(key)||StringUtils.isEmpty(value)){
returnnull;
}
Mapmap=newHashMap();
map.put(key,value);
returnbeanToJson(map,null);
}
/**
*将json字符串转换成对象
*
*@paramjson
*@paramclazz
*@return
*/
publicstaticObjectjsonToBean(Stringjson,Objectclazz){
if(StringUtils.isEmpty(json)||clazz==null){
returnnull;
}
returnJSON.parseObject(json,clazz.getClass());
}
/**
*json字符串转map
*
*@paramjson
*@return
*/
@SuppressWarnings("unchecked")
publicstaticMapjsonToMap(Stringjson){
if(StringUtils.isEmpty(json)){
returnnull;
}
returnJSON.parseObject(json,Map.class);
}
}
测试:
JSON字符串转map
publicstaticvoidmain(String[]args){
StringjsonStr="{'userName':'huangbaokang','password':'123456'}";
Mapmap=JSONUtils.jsonToMap(jsonStr);
System.out.println(map.get("userName"));
}
输出:
huangbaokang
JSON字符串转对象:
新建User类
publicclassUser{
privateStringuserName;
privateStringpassword;
publicStringgetUserName(){
returnuserName;
}
publicvoidsetUserName(StringuserName){
this.userName=userName;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
}
publicstaticvoidmain(String[]args){
StringjsonStr="{'userName':'huangbaokang','password':'123456'}";
Useruser=(User)JSONUtils.jsonToBean(jsonStr,newUser());
System.out.println("用户名="+user.getUserName()+"密码="+user.getPassword());
}
测试输出:
输出用户名=huangbaokang密码=123456
对象转JSON
publicstaticvoidmain(String[]args){
Useruser=newUser();
user.setUserName("huangbaokang");
user.setPassword("123456");
Stringresult=JSONUtils.beanToJson(user);
System.out.println(result);
}
测试输出:
{"password":"123456","userName":"huangbaokang"}
在这里工具类应用的jar为阿里巴巴的fastjson,在lib中加入相关jar。
PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat
在线XML/