zoukankan      html  css  js  c++  java
  • JSON 与 String、Map、JavaBean互转

    JSON 与 String、Map、JavaBean互转

    //解析远程登录用户信息
    AttributePrincipal principal = AssertionHolder.getAssertion().getPrincipal();
    if ((principal == null)|| (principal.getAttributes().isEmpty())){
      log.error("远程登录接口有误,请联系开发人员!");
      resp.setResult("false");
      resp.setResultDesc("远程登录接口有误,请联系开发人员!");
    } else {
      Map attributes = principal.getAttributes();
      ObjectMapper objectMapper = new ObjectMapper();
      String user = (String) attributes.get("user"); 
      user = URLDecoder.decode(user, "UTF-8");
                    
      JSONObject jsonObject = JSONObject.fromObject(userInfo); //Java Bean转JSON
      JSONObject jsonuser = JSONObject.fromObject(user);
      System.out.println(" ======== 2、 获取登录用户信息   userInfo  =========" + jsonObject.toString()); //JSONString
      log.error(" ======== 2、 获取远程用户信息 user =========" + jsonuser.toString());

        //user、partner为JSON串,解析JSON...
        Map map = objectMapper.readValue(user, Map.class); //JSON转Map
         String account = map.get("account")+"";
         String centerCorpId = map.get("corpId")+"";

    }

    //String转JSON
    JSONArray jsonArray = JSONArray.fromObject(params.getEmpJson());
    //JSON转List
    List<ActiveRange> empList = (List<ActiveRange>) jsonArray.toCollection(jsonArray, ActiveRange.class);

     JSON转List:

       /**
         * 批量新增系统消息 -- 供其它模块调用
         */
        @Override
        public int insertSysNotice(List<SysNotice> list) {
            
            if(redis.exist("dayHRO.sysNoticeList")){
                String json = redis.get("dayHRO.sysNoticeList");
                JSONArray jsonArray = JSONArray.fromObject(json);  
                List<SysNotice> list_ = (List) JSONArray.toCollection(jsonArray, SysNotice.class); //JSON转List
                list.addAll(list_);
                
                redis.set("dayHRO.sysNoticeList", redis.convertJson(list));
                
            } else {
                redis.set("dayHRO.sysNoticeList", redis.convertJson(list));
            }
            
            return list.size();
        }
  • 相关阅读:
    git的搭建与简单实用
    zabbix项目实践
    zabbix的搭建与入门
    zabbix的深入了解
    harbor私有镜像仓库的搭建与使用与主从复制
    tensorflow 在windows下的安装
    word2vec:基本的安装及使用简介
    cs231n(三) 误差反向传播
    cs231n笔记(二) 最优化方法
    cs231n笔记 (一) 线性分类器
  • 原文地址:https://www.cnblogs.com/mingyue1818/p/5949147.html
Copyright © 2011-2022 走看看