本文共 3305 字,大约阅读时间需要 11 分钟。
本项目旨在为后端业务逻辑提供标准化的JSON数据处理接口,确保返回格式的一致性,并便于快速开发和维护。
JsonArray
类public class JsonArray implements Serializable { private int code; private String msg; private String data = null; public JsonArray(int code, String msg, String data) { this.code = code; this.msg = msg; this.data = data; } //Set方法(省略部分,仅保留主要属性) public void setCode(int code) { this.code = code; } public String getData() { return data; } @Override public String toString() { return "{ \"code\": " + code + ", \"msg\": " + msg + ", \"data\": " + data + "}"; }}
说明:
JsonArray
用于封装返回结构化的JSON数组数据。code
表示业务状态码,值为200
表示成功,500
表示错误等。msg
表示提示信息。data
为实际数据内容,支持字符串、数字、对象等多种类型。toString()
方法用于转换为标准化JSON格式。JsonString
类public class JsonString implements Serializable { private int code; private String msg; private String data = null; public JsonString(int code, String msg, String data) { this.code = code; this.msg = msg; this.data = data; } //Set方法(省略部分,仅保留主要属性) public void setMsg(String msg) { this.msg = msg; } @Override public String toString() { return "{ \"code\": " + code + ", \"msg\": " + msg + ", \"data\": " + data + "\"}"; }}
说明:
JsonString
用于封装返回结构化的JSON字符串。JsonArray
类似,code
、msg
和data
属性功能相同。toString()
方法中,data
属性默认使用单引号,避免JSON解析错误。toJson
工具类import com.alibaba.fastjson.JSON;public class toJson { public static String toJsonString(int code, String msg, Object data) { return new JsonString(code, msg, JSON.toJSONString(data)).toString(); } public static String toJsonArray(int code, String msg, Object data) { return new JsonArray(code, msg, JSON.toJSONString(data)).toString(); }}
说明:
toJsonString(Object data)
:将任意类型的数据转换为JSON字符串。toJsonArray(Object data)
:将数据转换为JSON数组格式。com.alibaba.fastjson
库提供的toJSONString
方法为核心转换功能。// 返回JSON数组public String test() { List
说明:
toList()
:假设计算服务返回一个List
对象,用于传递数据。toJsonArray()
方法将List
对象转换为JSON数组返回。@GetMapping("/test")@ResponseBodypublic String test() { List
说明:
@GetMapping
和@ResponseBody
注解实现HTTP GET请求。String
,根据业务逻辑调用服务并封装JSON格式响应。code
的值和msg
的描述需与前端协调,避免错误信息不符。toJson
工具类应避免频繁创建对象,优化性能。// 调用JSON数组示例JsonObject object = new JsonObject();object.put("key1", "value1");object.put("key2", "value2");JsonObject arrayObject = new JsonObject();arrayObject.put("data", object.getValue("key1"));// 将数组转换为字符串String jsonString = toJsonString(200, "响应成功", arrayObject);
输出结果:
{ "code": 200, "msg": "响应成功", "data": { "key1": "value1" }}
说明:
JsonArray
和 JsonString
类设计灵活,支持多种数据类型。本文介绍了一个用于JSON数据处理的标准化封装方案,涵盖了类定义、工具类以及实际应用中的使用场景。通过合理的设计和优化,确保了代码简洁性和可维护性,为后续开发奠定了良好基础。
转载地址:http://vaglz.baihongyu.com/