专业的JAVA编程教程与资源

网站首页 > java教程 正文

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

temp10 2024-10-10 12:17:56 java教程 15 ℃ 0 评论

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

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

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

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> T toBean(String jsonString, Class<T> 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> T jsonToObj(JSONObject json, Class<T> bean) {
		T t = (T) JSON.parseObject(json.toString(), bean);
		return t;
	}
//对象转JSON
public static<T> JSONObject objectToJson(T obj) throws JSONException, IOException {
		ObjectMapper mapper = new ObjectMapper();
		String jsonStr = mapper.writeValueAsString(obj);
		JSONObject jsonObj = JSON.parseObject(jsonStr);
		return jsonObj;
	}

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

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

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表