分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

【自制工具类】struts返回json数据包装格式类

发布时间:2023-09-06 01:22责任编辑:顾先生关键词:jsjson

自己写的一个给struts返回的json数据包装格式类,不喜勿喷,原创,需在项目中引入com.alibaba.fastjson的jar包

先看下效果(这里没有使用msg,有兴趣的往下看):

上demo:

 1 import java.util.HashMap; 2 ?3 ?4 /** 5 * JSON响应处理工具类 6 * ?7 * 返回一个json对象,包含status/msg/data, 8 * checkOK()默认status:200/checkFail()默认status:500 9 * 其中checkOK(Object data)比较特殊,直接返回的是这个对象的json10 * 其他均为status/msg/data返回格式11 * 12 * @author Hellxz13 * @date 2017年10月21日14 * @version 1.015 */16 public class JsonResult {17 18 ????/**检查成功,返回200**/19 ????public static Object checkOK(){20 ????????Object result = build(200, null, null);21 ????????return result;22 ????}23 ????/**检测成功,返回200,msg**/24 ????public static Object checkOK(String msg){25 ????????Object result = build(200, msg, null);26 ????????return result;27 ????}28 ????/**检查成功,直接返回json对象**/29 ????public static Object checkOK(Object data){30 ????????Object result = com.alibaba.fastjson.JSONObject.toJSON(data);31 ????????return result;32 ????}33 ????34 ????/**检查成功的响应,返回200,msg,data**/35 ????public static Object checkOK(String msg, Object data){36 ????????Object result = build(200, msg, data);37 ????????return result;38 ????}39 ????40 ????/**检查失败,只返回500**/41 ????public static Object checkFail(){42 ????????Object result = build(500, null, null);43 ????????return result;44 ????}45 ????public static Object checkFail(String msg){46 ????????Object result = build(500, msg, null);47 ????????return result;48 ????}49 ????50 ????/**检查失败的响应 500,msg,data**/51 ????public static Object checkFail(String msg,Object data){52 ????????Object result = build(500, msg, data);53 ????????return result;54 ????}55 ????56 ????/**返回转换后的json对象(自定义状态码,信息,data)**/57 ????public static Object build(Integer status, String msg, Object data){58 ????????HashMap<String,Object> map = new HashMap<>();59 ????????map.put("status", status);60 ????????map.put("msg", msg);61 ????????map.put("data", data);62 ????????Object json = com.alibaba.fastjson.JSONObject.toJSON(map);63 ????????return json;64 ????}65 ????66 }

因为这是个工具类,所有方法都是静态方法,所以,写出输出流需要自己手动写出来,下边就简单写一个需要放在action类中的小方法,配合以上工具类食用风味更佳~!

/**以response形式将对象写回客户端,推荐传入JSON对象**/ ???public void writeOut(Object obj){ ???????response.setContentType("text/json;charset=utf-8"); ???????PrintWriter writer = null; ???????try { ???????????writer = response.getWriter(); ???????????writer.println(obj); ???????} catch (IOException e) { ???????????e.printStackTrace(); ???????} finally{ ???????????writer.flush(); ???????????writer.close(); ???????} ???}

于是在action中只需要引入最上边提到的工具类,然后用这个方法写回给客户端就好了,so简单~

//写出成功writeOut(JsonResult.checkOK();writeOut(JsonResult.checkOK("输出成功");writeOut(JsonResult.checkOK("输出成功",Object o);writeOut(JsonResult.checkOK(Object o); //这个是唯一不同格式的//写出失败writeOut(JsonResult.checkFail();writeOut(JsonResult.checkFail("输出失败");writeOut(JsonResult.checkFail("输出失败",Object o);//自定义writeOut(JsonResult.build(400,"你好",Object o);

 如果有更好的代码欢迎交流

【自制工具类】struts返回json数据包装格式类

原文地址:http://www.cnblogs.com/hellxz/p/7782264.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved