处理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();
        }
    }
相关推荐
帅次12 小时前
系统分析师-大数据处理系统分析与设计
数据仓库·elasticsearch·kafka·hbase·数据库开发·数据库架构·big data
电商API&Tina13 小时前
电商API接口的应用与简要分析||taobao|jd|微店
大数据·python·数据分析·json
王莽v217 小时前
序列并行-负载均衡
人工智能·分布式
optimistic_chen17 小时前
【Redis系列】分布式锁
linux·数据库·redis·分布式·缓存
方方洛17 小时前
技术实践总结:schema-bridgion:json、xml、yaml、toml文件相互转换
xml·前端·typescript·node.js·json
鱼跃鹰飞18 小时前
大厂面试真题-说说kafka消费端幂等性?
面试·职场和发展·kafka
王莽v219 小时前
FlashAttention 学习笔记:从公式到分布式
人工智能·分布式
王莽v220 小时前
LLM 分布式推理:切分、通信与优化
人工智能·分布式
SJLoveIT20 小时前
【深度复盘】Redis 分布式锁:从 SETNX 到 Redisson 看门狗的架构权衡
redis·分布式·架构
【赫兹威客】浩哥20 小时前
【赫兹威客】完全分布式Flink测试教程
大数据·分布式·flink