处理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();
        }
    }
相关推荐
Wang's Blog14 小时前
Elastic Stack梳理:Logstash Input插件详解与Codec插件应用指南之文件监控、多行日志处理与Kafka集成
分布式·搜索引擎·kafka·elastic search
int WINGsssss14 小时前
【无标题】
pytorch·分布式·python
小安同学iter15 小时前
天机学堂day05
java·开发语言·spring boot·分布式·后端·spring cloud·微服务
孟意昶15 小时前
Doris专题27-mysql兼容性与join连接
大数据·数据库·分布式·sql·mysql·doris
Wang's Blog15 小时前
Elastic Stack梳理:Logstash线程模型与多实例部署解析
分布式·elastic search
西岭千秋雪_16 小时前
MySQL日志梳理(存储引擎层)
java·数据库·分布式·mysql·oracle
小白|16 小时前
OpenHarmony + Flutter 混合开发进阶:构建支持离线优先、边缘同步与冲突解决的分布式数据应用
分布式·flutter
张人玉17 小时前
大数据hadoop系列——在ubuntu上安装HBase 伪分布式
大数据·hadoop·分布式·hbase
闲人编程18 小时前
API限流、鉴权与监控
分布式·python·wpf·限流·集群·令牌·codecapsule
苦学编程的谢18 小时前
RabbitMQ_4_高级特性(1)
分布式·rabbitmq