精华内容
下载资源
问答
  • JsonResult工具类

    2020-06-06 21:01:33
    JsonResult工具类 最近学习前后端分离,前端是layui,SpringBoot需要返回json字符串,为了规范返回格式,参照了几个JsonResult工具类。部分是使用的一个JavaBean,即只包含私有属性和get/set方法的对象。定义了code...

    JsonResult工具类

    最近学习前后端分离,前端是layui,SpringBoot需要返回json字符串,为了规范返回格式,参照了几个JsonResult工具类。部分是使用的一个JavaBean,即只包含私有属性和get/set方法的对象。定义了code、msg和data这三个属性,我一开始就使用的是这个,但layui中加载table的时候还需要返回一个count值,可以考虑继承或者再增加一个count属性。但这样做如果再需要返回一个其它值又会麻烦。所以我考虑直接使用一个Map集合来存储,需要额外返回的时候直接使用put即可加入一个新的返回值。
    在controller层加上@RestController 可直接返回list、map、JavaBean对象等,Spring Boot默认使用Jackson会自动将该对象转换为json字符串

    import java.io.Serializable;
    import java.util.HashMap;
    import java.util.Map;
    
    /*
        使用@RestController或@ResponseBody时,可直接返回该对象,
        Spring Boot默认使用Jackson会自动将该对象转换为json字符串
        如{"code": 0,"msg": "","data": [{}, {}]}
     */
    public class JsonResult extends HashMap<String, Object> implements Serializable {
        public static final long serialVersionUID = 1L;
    
        public static final int SUCCESS = 0;
        public static final int FAIL = 1;
        public static final int ERROR = 2;
        public static final int LOGOUT = 1001;
    
        public JsonResult(int code, String msg, Object data) {
            super(3);  //继承自Map,设置初始容量
            this.put("code", code); //状态码,layui中code=0表示成功
            this.put("msg", msg);   //提示消息
            this.put("data", data); //数据体
        }
    
        //一般返回code、msg和data这三个即可,但layui加载table时还要求count值
        //添加额外的返回值
        public JsonResult put(String key, Object value) {
            super.put(key, value);
            return this;
        }
    
        //快速返回请求成功
        public static JsonResult success(Object data) {
            return new JsonResult(SUCCESS, "ok", data);
        }
    
        //快速返回请求失败
        public static JsonResult fail(String msg) {
            return new JsonResult(FAIL, msg, null);
        }
    
        public static JsonResult error(String msg, Object data) {
            return new JsonResult(ERROR, msg, data);
        }
    
        public static JsonResult logout() {
            return new JsonResult(LOGOUT, "未登录", null);
        }
    
        //快速生成一个Map键值对
        public static Map<String, Object> fastMap(String key, Object value) {
            Map<String, Object> data = new HashMap<>(1);
            data.put(key, value);
            return data;
        }
    }
    

    除data内容添加额外的返回键值对(layui中使用table时需要额外的count)

    return JsonResult.success(list).put("count", count);
    
    展开全文
  • JsonResult工具类代码块

    2021-10-18 11:10:42
    import lombok.Getter; import lombok.Setter; /** * @Author: July * @Description: * @Date Created in 2021-10-18 ...public class JsonResult<T> { /** * 成功 */ public static final int SUCCES...
    
    
    import lombok.Getter;
    import lombok.Setter;
    
    /**
     * @Author: July
     * @Description:
     * @Date Created in 2021-10-18 11:06
     * @Modified By:
     */
    
    @Getter
    @Setter
    public class JsonResult<T> {
        /**
         * 成功
         */
        public static final int SUCCESS = 200;
    
        /**
         * 没有登录
         */
        public static final int NOT_LOGIN = 400;
    
        /**
         * 发生异常
         */
        public static final int EXCEPTION = 401;
    
        /**
         * 系统错误
         */
        public static final int SYS_ERROR = 402;
    
        /**
         * 参数错误
         */
        public static final int PARAMS_ERROR = 403;
    
        /**
         * 不支持或已经废弃
         */
        public static final int NOT_SUPPORTED = 410;
    
        /**
         * AuthCode错误
         */
        public static final int INVALID_AUTHCODE = 444;
    
        /**
         * 太频繁的调用
         */
        public static final int TOO_FREQUENT = 445;
    
        /**
         * 未知的错误
         */
        public static final int UNKNOWN_ERROR = 499;
    
        private int code;
        private String msg;
        private T data;
    
    
        public static JsonResult build() {
            return new JsonResult();
        }
    
        public static JsonResult build(int code) {
            return new JsonResult().code(code);
        }
    
        public static JsonResult build(int code, String msg) {
            return new JsonResult<String>().code(code).msg(msg);
        }
    
        public static <T> JsonResult<T> build(int code, T data) {
            return new JsonResult<T>().code(code).data(data);
        }
    
        public static <T> JsonResult<T> build(int code, String msg, T data) {
            return new JsonResult<T>().code(code).msg(msg).data(data);
        }
    
        public static JsonResult ok() {
            return build(SUCCESS);
        }
    
        public static JsonResult ok(String msg) {
            return build(SUCCESS, msg);
        }
    
        public static <T> JsonResult<T> ok(T data) {
            return build(SUCCESS, data);
        }
    
        public static JsonResult err() {
            return build(EXCEPTION);
        }
    
        public static JsonResult err(String msg) {
            return build(EXCEPTION, msg);
        }
    
        public JsonResult<T> code(int code) {
            this.code = code;
            return this;
        }
    
        public JsonResult<T> msg(String msg) {
            this.msg = msg;
            return this;
        }
    
        public JsonResult<T> data(T data) {
            this.data = data;
            return this;
        }
    
        @Override
        public String toString() {
            return JsonUtils.to(this);
        }
    }
    

    展开全文
  • 在后台向前端返回数据时,JSON字符串一般是首选的方式,但是有时候会出现中文乱码的情况,使用这个工具类,解决了我的中文乱码的问题,记录踩坑过程。 直接上代码,不知道这个工具类的出自哪里,但是是真的强大! ...

    在后台向前端返回数据时,JSON字符串一般是首选的方式,但是有时候会出现中文乱码的情况,使用这个工具类,解决了我的中文乱码的问题,记录踩坑过程。

    直接上代码,不知道这个工具类的出自哪里,但是是真的强大!

    import java.io.Serializable;
    /**
     * 用于封装服务器到客户端的Json返回值
     * @author soft01
     *
     */
    public class JsonResult<T> implements Serializable {
        //Serializable将对象的状态保存在存储媒体中以便可以在以后重新创建出完全相同的副本
        public static final int SUCCESS=0;
        public static final int ERROR=1;
        public static final int OTHER=2;
    
        private int state;
        private String message = "";
        private T data;
        private String pass="";
    
        public JsonResult(){
            state = SUCCESS;
        }
        //为了方便,重载n个构造器
        public JsonResult(int state, String message, T data) {
            super();
            this.state = state;
            this.message = message;
            this.data = data;
        }
        public JsonResult(int state,String error){
            this(state,error,null);
        }
        public JsonResult(int state,T data){
            this(state,"",data);
        }
        public JsonResult(String error){
            this(ERROR,error,null);
        }
    
        public JsonResult(T data){
            this(SUCCESS,"",data);
        }
        public JsonResult(int state){
            this(state,"",null);
        }
        public JsonResult(Throwable e){
            this(ERROR,e.getMessage(),null);
        }
        public int getState() {
            return state;
        }
        public void setState(int state) {
            this.state = state;
        }
        public String getMessage() {
            return message;
        }
        public void setMessage(String message) {
            this.message = message;
        }
        public T getData() {
            return data;
        }
        public void setData(T data) {
            this.data = data;
        }
        public static int getSuccess() {
            return SUCCESS;
        }
        public static int getError() {
            return ERROR;
        }
        @Override
        public String toString() {
            return "JsonResult [state=" + state + ", message=" + message + ", pass=" + pass + ", data=" + data + "]";
        }
    }

    由于工具类使用的是泛型类,我们可以根据需要,返回一个类或者集合都可以,只是在controller类里返回的类型稍微有点区别而已。

    可以看到这个工具类返回的数据有三个,分别是:state,message,data,其中data就是我们主要用到的JSON字符串

    在controller类里面直接将查询到的数据借助这个工具类封装成JSON字符串即可返回:

        @RequestMapping("/selectInfoForUser")
        @ResponseBody
        public JsonResult<Map<String, String>> selectInfoForUser(){
            Map map=new HashMap();
            map.put("userid", 1);
            Map<String, String> userInfo = userServiceImpl.selectInfoForUser(map);
            //System.out.println("这是小程序端调用的");
            //String userInfojsonString = JSON.toJSONString(userInfo);
            return new JsonResult<Map<String, String>>(0,"成功",userInfo);
        }

    由于这里使用的查询结束之后返回的是map类型,所以使用的是JsonResult<Map<String, String>>,List如同Map,如果只返回一个实体类User,则返回类型直接是JsonResult<User>,其中@ResponseBody 的作用是直接将json字符串返回到当前页面,如果不加的话,会报错,因为springmvc配置文件一般都配置了前后缀,使得return后面的字符串会当成jsp页面处理

    在前端页面则直接可以使用data.data 取得JSON对象,具体的可以在前端页面测试打印,然后截取需要的数据。

    展开全文
  • * 返回结果对象工具类 */ public class JsonResult extends HashMap<String, Object> { private static final long serialVersionUID = 1L; private JsonResult() { } /** * 返回成功 .
    package com.cwy.wxapp.util;
    
    import java.util.HashMap;
    
    /**
     * 返回结果对象工具类
     */
    public class JsonResult extends HashMap<String, Object> {
        private static final long serialVersionUID = 1L;
    	
        private JsonResult() {
        }
    
        /**
         * 返回成功
         */
        public static JsonResult ok() {
            return ok("操作成功");
        }
    
        /**
         * 返回成功
         */
        public static JsonResult ok(String message) {
            return ok(200, message);
        }
    
        /**
         * 返回成功
         */
        public static JsonResult ok(int code, String message) {
            JsonResult jsonResult = new JsonResult();
            jsonResult.put("code", code);
            jsonResult.put("msg", message);
            return jsonResult;
        }
    
        /**
         * 返回失败
         */
        public static JsonResult error() {
            return error("操作失败");
        }
    
        /**
         * 返回失败
         */
        public static JsonResult error(String messag) {
            return error(500, messag);
        }
    
        /**
         * 返回失败
         */
    展开全文
  • JSONResult public class JSONResult { // 定义jackson对象 private static final ObjectMapper MAPPER = new ObjectMapper(); // 响应业务状态 private Integer status; // 响应消息 private String msg; // 响应中...
  • } public static <T> JsonResult<T> build(int code, String msg, T data) { return new JsonResult().code(code).msg(msg).data(data); } public JsonResult<T> code(int code) { this.code = code; return this; ...
  • 常用工具类通用CookieUtil、JsonResult、JsonUtil源码

    千次阅读 多人点赞 2021-01-14 11:58:49
    } public static <T> JsonResult<T> build(int code, String msg, T data) { return new JsonResult().code(code).msg(msg).data(data); } public JsonResult<T> code(int code) { this.code = code; return this; ...
  • CookieUtil package cn.tedu.web.util; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; ...public class CookieUtil { ... ...
  • * 门户接受此类数据后需要使用本的方法转换成对于的数据类型格式(,或者list) * 其他自行处理 * 200:表示成功 * 500:表示错误,错误信息在msg字段中 * 501:bean验证错误,不管多少个错误都以map形式...
  • 工具类对属性、字符串、对象、集合进行了封装,返回一个JSON格式的字符串,并处理了Date类型与字符串之间的转化。
  • JSON对象转换工具类

    2018-11-15 14:16:51
    JSON对象转换成需要的工具类, JSON对象转换成需要的工具类,
  • json工具类

    2017-09-11 11:05:02
    采用Java开发应用软件,如果数据库层采用蛋疼的纯生jdbc时候,需要考虑到将查询数据库得到的结果集resultRest进行转换为JsonArray并将其返回到页面!当然了,现在对于“将查询数据库得到的结果集resultRest转换为...
  • 用于开发返回数据封装结果集Result工具类 import java.io.Serializable; import java.util.List; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; /** ...
  • 工具类

    2019-04-15 09:11:00
    package ... import java.security.MessageDigest; import java.util.UUID; ... * 常用工具类的封装,md5,uuid等 */ public class CommonUtils { /** * 生成 uuid, 即用来标识...
  • Java/Android常用工具类

    千次阅读 2016-02-23 11:04:36
    现在的项目基本上已经完成一大半了,在这块把我所用到的所有工具类大概总结一下,方便以后以及大家使用ExampleJsonUtil(Jackson/Gson)package com.aetos.utils;import java.io.IOException; import java.lang....
  • HttpClient工具类及应用

    2019-08-23 12:48:45
    * @description V1.0 HttpClient工具类 */ public class HttpClientUtils { /** * 获取httppost对象 设置连接超时属性 * setConnectTimeout:设置连接超时时间,单位毫秒。 * ...
  • Http工具类java http调用

    2020-04-14 11:13:32
    /**把json字符串转换成json对象**/ jsonResult = JSONObject.fromObject(strResult); url = URLDecoder.decode(url, "UTF-8"); } else { } } catch (IOException e) { } return jsonResult; } }
  • 实用工具类

    2019-12-05 16:57:32
    项目中自定义的工具类1.CookieUtilJsonUtilSysResultIPUtilObjectMapperUtil插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何...
  • java验证码工具类使用说明 1.工具类 说明: 直接粘贴复制就可以使用,按照注释去使用 此工具类不需要添加任何依赖 package com.shaoming.常用工具类的封装; import javax.imageio.ImageIO; import java.awt.*; ...
  • HttpClient工具类

    2018-01-10 16:48:59
    工具类代码: package com.zzkx.udp.framework.utils; import java.io.IOException; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; import java.util....
  • JAVA 工具类 toolkit

    2017-03-25 16:32:12
    对常用的处理封装 JsonResult、PageBean、exception、excel、FtpHelper、HttpHelper、AESHelper、DESHelper、RSAHelper、ChineseUtil、ClassUtil、CollectionHelper、ConvertUtil、DateUtil、FileUtil、ImageUtil、...
  • HttpClient工具类封装

    2021-05-06 16:46:42
    HttpClient工具类封装 package com.raysdata.iothub.server.util; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.apache.http.HttpEntity; import org.apache....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,302
精华内容 920
关键字:

jsonresult工具类