方式一:
TaskInfo t = new TaskInfo(); t.setDispatchNumber("DIS123456"); t.setSerialNumber("RS787878"); t.setTaskState(Constants.TASK_STATE_WAIT); String key = "test-dispatch"; //-----------ali String v_ali = JSON.toJSONString(t); redis.set(key, v_ali); TaskInfo task_ali = JSON.parseObject((String)redis.get(key), TaskInfo.class); //----------jackson String v_jackson = JsonUtils.ObjectToJson(t); redis.set(key, v_jackson); TaskInfo task_jackson = JsonUtils.jsonToObject3(TaskInfo.class, (String)redis.get(key)); if(task_ali.getTaskState() == Constants.TASK_STATE_WAIT) { System.out.println(task_ali.getDispatchNumber()); System.out.println(task_ali.getSerialNumber()); }
JsonUtils
/** * 將對象轉為json字符串 * @param o * @return */ public static String ObjectToJson(Object o){ ObjectMapper mapper = new ObjectMapper(); try { return mapper.writeValueAsString(o).replaceAll("\r\n|\r|\n", ""); } catch (JsonProcessingException e) { logger.error("JsonProcessingException", e); } return null; } /** * json轉對象 * @param clazz * @param json * @return */ public static <T> T jsonToObject3(Class<T> clazz,String json){ ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); try { return mapper.readValue(json, clazz); } catch (JsonParseException e) { logger.error("JsonParseException", e); } catch (JsonMappingException e) { logger.error("JsonMappingException", e); } catch (IOException e) { logger.error("IOException", e); } return null; }