本文共 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/