Java实现的JSONUtil工具类与用法示例
程序员文章站
2023-12-20 16:16:28
本文实例讲述了java实现的jsonutil工具类与用法。分享给大家供大家参考,具体如下:
import java.util.hashmap;
import j...
本文实例讲述了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代码检验、检验、美化、格式化工具:
json在线格式化工具:
在线xml/json互相转换工具:
json代码在线格式化/美化/压缩/编辑/转换工具:
在线json压缩/转义工具:
更多关于java相关内容感兴趣的读者可查看本站专题:《java操作json格式数据技巧总结》、《java数组操作技巧总结》、《java字符与字符串操作技巧总结》、《java数学运算技巧总结》、《java数据结构与算法教程》及《java操作dom节点技巧总结》
希望本文所述对大家java程序设计有所帮助。