开发记录:涉及到数据的再封装,Java对象与JSON格式的互相转换
2022/2/24 17:22:29
本文主要是介绍开发记录:涉及到数据的再封装,Java对象与JSON格式的互相转换,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
开发记录:涉及到数据的再封装,Java对象与JSON格式的互相转换
Fastjson
Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。
-
提供了 toJSONString() 和 parseObject() 方法来将 Java 对象与 JSON 相互转换。调用toJSONString方 法即可将对象转换成 JSON 字符串,parseObject 方法则反过来将 JSON 字符串转换成对象。
-
导入依赖:
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>x.x.x</version> </dependency>
-
toJSONString() :截取一部分构造方法,会发现Object object,说明Java对象都能转换为字符串类型的Json格式数据
public static String toJSONString(Object object) { return toJSONString(object, emptyFilters); } public static String toJSONString(Object object, SerializerFeature... features) { return toJSONString(object, DEFAULT_GENERATE_FEATURE, features); }
开发中的实际案例
案例一:对Map格式的数据进行再次封装,需要对Map格式的数据转换为Java实例对象
@Override public void save(Map<String, Object> objectMap) { // 发送过来的数据被封装成map格式 // 1. 把参数map集合转换为 Hospital 对象,这里需要使用导入依赖 FastJson String jsonString = JSONObject.toJSONString(objectMap); Hospital hospital = JSONObject.parseObject(jsonString, Hospital.class); // 进一步说明,原先数据用map封装,是字段为key ....
注意Map格式数据中的key与Java对象类字段的对应。
案例二:在短信服务中,需要取出在response body中的status字段,判断调用的短信接口是否发送成功。
HttpResponse response = HttpUtils_Ali.doPost(host, path, method, headers, querys, bodys); //获取response的body String entity = EntityUtils.toString(response.getEntity()); // response.getEntity() 只能获取一次,就关闭输出流了 //将body转为JSONObject JSONObject jsonObject = JSONObject.parseObject(entity); String status = (String) jsonObject.get("status"); // 获取发送请求状态,成功返回:{"request_id":"TIDbbb613bb5c94418ea9b7b6b21b25d774","status":"OK"} return status.equals("OK"); // 注意大小写
利用了JSONObject可以通过get获取相关字段数据
后续有业务使用再更新..................
这篇关于开发记录:涉及到数据的再封装,Java对象与JSON格式的互相转换的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16Maven资料入门指南
- 2024-11-16Maven资料入门教程
- 2024-11-16MyBatis Plus资料:新手入门教程与实践指南
- 2024-11-16MyBatis-Plus资料入门教程:快速上手指南
- 2024-11-16Mybatis资料入门教程:新手必看指南
- 2024-11-16MyBatis资料详解:新手入门与初级实战指南
- 2024-11-16MyBatisPlus资料:初学者入门指南与实用教程
- 2024-11-16MybatisPlus资料详解:初学者入门指南
- 2024-11-16MyBatisX资料:新手入门与初级教程
- 2024-11-16RESTful接口资料详解:新手入门指南