zoukankan      html  css  js  c++  java
  • java 将redis的数据批量取出来的时候遇到json格式转换异常

    需求:将数据存入redis 存放的数据结构是hash 现在需要把它批量取出

    批量取出的方式有很多,这里记录的是取出来以后数据反序列化成java实体时候的异常

    线上代码不贴,模拟该代码

      UserLoginParams userLoginParams = new UserLoginParams();
            userLoginParams.setDeviceId(1+"");
            userLoginParams.setPassword("123456");
            userLoginParams.setPhone(1+"");
           // Mono mono = userService.userLogin(userLoginParams);
    
            String s = JSON.toJSONString(userLoginParams);
    
            stringRedisTemplate.opsForHash().put("test1","1",s);
    
            Map<Object, Object> test = stringRedisTemplate.opsForHash().entries("test1");
    
            String o = (String) test.get("1");
    
            String s1 = JSON.toJSONString(o);
    
            UserLoginParams userLoginParams1 = JSON.parseObject(s1, UserLoginParams.class);
    

    运行结果 提示异常:

    com.alibaba.fastjson.JSONException: syntax error, expect {, actual string, pos 0, fastjson-version 1.2.51

    修改代码

      UserLoginParams userLoginParams = new UserLoginParams();
            userLoginParams.setDeviceId(1+"");
            userLoginParams.setPassword("123456");
            userLoginParams.setPhone(1+"");
            Mono mono = userService.userLogin(userLoginParams);
    
            String s = JSON.toJSONString(userLoginParams);
    
            stringRedisTemplate.opsForHash().put("test1","1",s);
    
            Map<Object, Object> test = stringRedisTemplate.opsForHash().entries("test1");
    
            String o = (String) test.get("1");
    
    
            UserLoginParams userLoginParams1 = JSON.parseObject(o, UserLoginParams.class);

    再次运行断点结果:

    没什么技术难点,就只是一个API的使用,在关于字符串转换的时候,经常可能会遇到字符串不能转成实体,或者字符串有很多转义字符的情况!!

  • 相关阅读:
    0107. Binary Tree Level Order Traversal II (E)
    0052. N-Queens II (H)
    0051. N-Queens (H)
    0441. Arranging Coins (E)
    面向对象的三大特性
    Java面向对象
    Java方法
    Java流程控制
    Scanner 类
    Java基础语法
  • 原文地址:https://www.cnblogs.com/920913cheng/p/15751928.html
Copyright © 2011-2022 走看看