四时宝库

程序员的知识宝库

100个Java工具类之12:JSON、JSON字符串和对象三者互转

该系列为java工具类系列,主要展示100个常用的java工具类。

本系列工具类的核心目的主要有三点:

1,以便他用:提供可用的Java工具类,方便大家使用,避免重复造轮子

2,个人记录:作为个人记录,同时督促自己学习总结

3,为初学者提供思路,相互交流,共同进步

当然,很多细节部分经不起推敲,如存在部分代码不规范、注释不详细、格式不统一等问题,还望阅读者多多包涵,多提意见。

本文主要讲述:JSON、JSON字符串和对象三者互相转换的工具类

一、JSON字符串和JSON互转

//JSON字符串转JSON
private static JSONObject jsonStrToJson(String jsonStr) {
		JSONObject jsonObj = JSON.parseObject(jsonStr);
		return jsonObj;
	}
//JSON转JSON字符串
private static String jsonToJsonStr(JSONObject jsonObj) {
		return jsonObj.toString();
	}

二、JSON字符串和对象互转

//JSON字符串转对象
public static  T toBean(String jsonString, Class bean) {
		T t = (T) JSON.parseObject(jsonString, bean);
		return t;
	}
//对象转JSON字符串
Student student = new Student();
String str = student.toStirng();

//可以重写对象的toString方法
@Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                '}';
    }

三、JSON和对象互转

//JSON转对象
public static  T jsonToObj(JSONObject json, Class bean) {
		T t = (T) JSON.parseObject(json.toString(), bean);
		return t;
	}
//对象转JSON
public static JSONObject objectToJson(T obj) throws JSONException, IOException {
		ObjectMapper mapper = new ObjectMapper();
		String jsonStr = mapper.writeValueAsString(obj);
		JSONObject jsonObj = JSON.parseObject(jsonStr);
		return jsonObj;
	}

实际场景中,不全是这么简单的互转,尤其是复杂的数据结构,数据的转换也是非常麻烦的,稍不留意就会报错,特别是动态数据,需要考虑到数据异常,数据为空的情况。

本文仅供个人记录,如有任何问题可在评论区提问,欢迎大家交流。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接