网站首页 > 精选教程 正文
该系列为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> 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;
}
实际场景中,不全是这么简单的互转,尤其是复杂的数据结构,数据的转换也是非常麻烦的,稍不留意就会报错,特别是动态数据,需要考虑到数据异常,数据为空的情况。
本文仅供个人记录,如有任何问题可在评论区提问,欢迎大家交流。
- 上一篇: Java基础入门系列
- 下一篇: gson的用法
猜你喜欢
- 2025-01-05 什么是JSON?
- 2025-01-05 SpringBoot读取资源目录中的JSON文件方法
- 2025-01-05 Fastjson妙用之@JSONField注解
- 2025-01-05 程序员必备的JSON到代码的快速转换神器,支持多种语言(C#、Go、Swift、C++、Java、TypeScript 等)
- 2025-01-05 Java安全-Java Vuls(Fastjson、Weblogic漏洞复现)
- 2025-01-05 Jackson 反序列化必修课:未知属性的"坑",你踩对了吗?
- 2025-01-05 一文带你认识目前最快的Java框架:Vert.x
- 2025-01-05 @JsonProperty详细说明
- 2025-01-05 Java 反射 和 Java new 的效率有什么区别,亲测相差100倍
- 2025-01-05 Python技能:JSON文件的语法和解析
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)