您的位置:首页 > 编程语言 > Java开发

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

2018-07-04 14:38 966 查看

本文实例讲述了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 JSONUtil 工具类