当前位置: 首页 > news >正文

Json map

1. 返回数据形式

    Class returnMsg{

            boolean success;

            String   msg;

            String   errorMsg;

    }

 

2.问题

   当msg中的数据由对象 或 集合转换而来时, 用JSONObject.fromObject(obj).toString()返回后带有'\'

 

3. 解决方案

   将集合类型数据转换成jsonArray,用Map来存放数据,返回map

userList  = accountManager.findDeptUser(deptId);
JsonConfig jsonConfig
= new JsonConfig(); jsonConfig.setExcludes(new String[]{"role"});// 排除某些字段 jsonConfig.setIgnoreDefaultExcludes(true); jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
JSONArray jsonArray
= JSONArray.fromObject(userList, jsonConfig);
Map
<String, Object> resultMap = new HashMap<String, Object>();   resultMap.put("success", true); resultMap.put("msg", jsonArray); resultMap.put("errmsg", "");

response.setHeader("Cache-Control", "no-cache");
response.setContentType("text/json; charset=UTF-8");
response.setCharacterEncoding("utf-8");
PrintWriter out = null;
        try {
            out = response.getWriter();
            out.print(JSONArray.fromObject(resultMap));
            out.flush();
        } catch (Exception e) {
        }finally{
            if(out!=null){
                out.close();
            }
        }

 以上代码实现排除牟些字段, 也可以指定某些字段

        List<CataTemplate> cataTempList = cataTemp.find();
                JsonConfig jsonConfig = new JsonConfig();
                jsonConfig.setJsonPropertyFilter(new PropertyFilter(){
                    @Override
                    public boolean apply(Object arg0, String name, Object value) {
                        if(name.equals("id") || name.equals("name")){
                            return false;
                        }else{
                            return true;
                        }
                    }});
                jsonConfig.setIgnoreDefaultExcludes(true);
                jsonConfig.setCycleDetectionStrategy(CycleDetectionStrategy.LENIENT);
                JSONArray jsonArray = JSONArray.fromObject(cataTempList, jsonConfig);
                resultMap.put("success", true);
                resultMap.put("msg", jsonArray);
                resultMap.put("errmsg", "");

 

转载于:https://www.cnblogs.com/rocky-fang/p/5908142.html

相关文章:

  • CSDN Blog更换服务器维护通知(今日21:00-22:00)
  • 初试牛刀的收获-实现Web文件的上传
  • 终于要毕业了,没有什么好说的
  • UITableViewCell 高度自适应
  • 技术及培训问题讨论专贴。[学员必看]
  • ADSL Modem之DHCP的配置及应用
  • BI_DBA_安装(1):安装OS及DB
  • 洛谷P1582 倒水
  • ISA 2004 進階管理實務
  • PHP系列目录
  • 怎样成为优秀的软件测试员
  • 无法创建链接服务器 xxx 的 OLE DB 访问接口 OraOLEDB.Oracle 的实例。 (Microsoft SQL Server,错误: 7302)...
  • 使用Java操作文本文件的方法详解
  • 随笔
  • Redis集群搭建与简单使用
  • Hibernate最全面试题
  • iOS 系统授权开发
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • java8-模拟hadoop
  • Javascripit类型转换比较那点事儿,双等号(==)
  • JavaScript设计模式与开发实践系列之策略模式
  • Java精华积累:初学者都应该搞懂的问题
  • Js基础——数据类型之Null和Undefined
  • Puppeteer:浏览器控制器
  • sublime配置文件
  • 第2章 网络文档
  • 仿天猫超市收藏抛物线动画工具库
  • - 概述 - 《设计模式(极简c++版)》
  • 给自己的博客网站加上酷炫的初音未来音乐游戏?
  • 开发基于以太坊智能合约的DApp
  • 前端技术周刊 2019-01-14:客户端存储
  • 如何设计一个微型分布式架构?
  • 如何使用 JavaScript 解析 URL
  • 优化 Vue 项目编译文件大小
  • ​​​​​​​​​​​​​​Γ函数
  • ​低代码平台的核心价值与优势
  • #vue3 实现前端下载excel文件模板功能
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (1)SpringCloud 整合Python
  • (Forward) Music Player: From UI Proposal to Code
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • (每日持续更新)jdk api之FileReader基础、应用、实战
  • (五)c52学习之旅-静态数码管
  • (中等) HDU 4370 0 or 1,建模+Dijkstra。
  • *++p:p先自+,然后*p,最终为3 ++*p:先*p,即arr[0]=1,然后再++,最终为2 *p++:值为arr[0],即1,该语句执行完毕后,p指向arr[1]
  • .NET Core中Emit的使用
  • .NET gRPC 和RESTful简单对比
  • .net 反编译_.net反编译的相关问题
  • .NET/C# 获取一个正在运行的进程的命令行参数
  • .Net中ListT 泛型转成DataTable、DataSet
  • /dev/sda2 is mounted; will not make a filesystem here!
  • @RequestBody与@ResponseBody的使用
  • []AT 指令 收发短信和GPRS上网 SIM508/548
  • []常用AT命令解释()