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

本文实例讲述了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 map = new HashMap();

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 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 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程序设计有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值