当前位置 : 主页 > 编程语言 > c++ >

2070817-序列化与反序列化-2-jackson-wy

来源:互联网 收集:自由互联 发布时间:2021-07-03
javaBean-json //不同类型序列化接口一样//反序列化 自定义类型要指定一个javaType 注意 在序列化与反序列化时候,如果不太同一个工程中,另一个工程也要建立同样的javaBeanTarget target = n
javaBean-json
//不同类型序列化接口一样
//反序列化 自定义类型要指定一个javaType 
注意 在序列化与反序列化时候,如果不太同一个工程中,另一个工程也要建立同样的javaBean
Target target = new Target();
        //jackson 
        ObjectMapper mapper = new ObjectMapper();  
        try {
        	//序列化
			String json = mapper.writeValueAsString(target);
			redisUtils.hset("yingxuan", "yingxuan", json);
			redisUtils.expire("yingxuan", 60*5);
			String parse =  redisUtils.hget("yingxuan", "yingxuan");
			//bean
			target = mapper.readValue(parse, target.getClass());  
			System.out.println(target);
			
			List
 
   list = new ArrayList<>(); list.add(target);
			redisUtils.hset("yingxuan", "map", mapper.writeValueAsString(list));
			String listmap =  redisUtils.hget("yingxuan", "map");
			//bean集合
			JavaType javaType = mapper.getTypeFactory().constructParametricType(ArrayList.class, Target.class); 
			List
  
    lst = mapper.readValue(listmap, javaType); System.out.println(); List
   
    > list2 = new ArrayList<>();list2.add(map); redisUtils.hset("yingxuan", "list2map", mapper.writeValueAsString(list2)); String list2map = redisUtils.hget("yingxuan", "list2map"); //map要定义javaType对应反序列化类型 JavaType javaType2 = mapper.getTypeFactory().constructParametricType(ArrayList.class, mapper.getTypeFactory().constructParametricType(HashMap.class,String.class, Object.class)); List
    
     > lst2 = mapper.readValue(list2map, javaType2); System.out.println(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
    
   
  
 
网友评论