处理json异常问题,由于发送kafka消息是一个字符串,等到消费时json字符串会有多个““引号,故需要先处理json再转对象

发送一个正确的json对象

发送kafka消息也是一个json传,也没问题

等到消费kafka时,也能接收到一个json字符串但是会多一个 " 引号, 就会导致json转对象失败所以需要先去除 开通和结尾的 " 引号

去除后的json 就是一个正常的json,才能转换对象

处理 " 引号的代码逻辑

复制代码
    @KafkaListener(topics = {"brok.............1"},containerFactory = "kafkaListenerContainerFactory")
//    @Transactional(rollbackOn = Exception.class)
    public void receive(String message) throws JsonProcessingException, ParseException, InterruptedException {
        ObjectMapper objectMapper=new ObjectMapper();
        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        try {
            message = message.replace("\\", "");
            String startStr = message.substring(0,1);
            // 去除开头 " 引号
            if( "\"".equals( startStr )){
                message = message.substring(1);
            }
            // 去除结尾 " 引号
            String lastStr = message.substring(message.length()-1,message.length());
            if( "\"".equals( lastStr )){
                message = message.substring(0, message.length() - 1);
            }
            System.out.println( message );
            MessageBean messageBean = JSON.parseObject(message, MessageBean.class);
            consumerService.consumer(messageBean);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
相关推荐
starzy1990几秒前
KafkaProducer 源码深度剖析:RecordAccumulator 封装消息流程
大数据·kafka
星夜孤帆几秒前
Redis缓存击穿与分布式锁实战:专栏目录、源码与实验说明
redis·分布式·缓存
yyk333241 小时前
Spark介绍
大数据·分布式·spark
成为你的宁宁1 小时前
【基于 SSH 与 JNLP 协议的 Jenkins 分布式构建方案】
分布式·jenkins
福兮说13 小时前
JSON 格式正确,数据就可靠吗?我用一份自编配置检查类型与空值
java·前端·json
starzy199016 小时前
KafkaProducer 加载元数据:一条 MetadataRequest 的完整旅程
大数据·kafka
烂蜻蜓16 小时前
Pandas入门教程(六):数据读写详解——CSV、JSON、Pickle 与格式选型
json·pandas
PingCAP18 小时前
善战者无赫赫之功:消费金融核心系统的数据库选型与升级路径
数据库·分布式·架构
库库的数据库笔记19 小时前
金融核心交易系统的数据库国产信创改造该如何做?
大数据·数据库·分布式·mysql·oracle·金融·数据库架构
etafort19 小时前
js格式化json树结构
json