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的使用,在关于字符串转换的时候,经常可能会遇到字符串不能转成实体,或者字符串有很多转义字符的情况!!

  • 相关阅读:
    万网免费主机wordpress快速建站教程-域名绑定及备案
    java小算法—大衍数列
    Core Data使用之一(Swift): 保存
    Swift 添加到TableView实现动画效果
    Swift 动态创建提示框
    Swift分割字符串
    Swift去除两边的特定字符(空格或其它)
    windows 属性
    String 输出{}
    c# 正则表达式的用户
  • 原文地址:https://www.cnblogs.com/920913cheng/p/15751928.html
Copyright © 2011-2022 走看看