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()); //JSON轉String
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(); }