处理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 分钟前
分布式系统核心理论与实践:从CAP到工程落地
分布式
易生一世17 分钟前
JWT详解
json·证书·jwt·token·ai skills
赵渝强老师1 小时前
【赵渝强老师】Hadoop的伪分布部署模式
大数据·hadoop·分布式
Mike117.1 小时前
GBase 8c 序列取值在分布式业务里的几个风险点
分布式
Devin~Y1 小时前
大厂 Java 面试实录:Spring Boot/Cloud、Kafka、Redis、JVM、K8s、RAG 一条龙(小Y翻车版)
java·jvm·spring boot·redis·spring cloud·kafka·kubernetes
淡定一生23331 小时前
spark 3.3+ 之BloomFilter Runtime Filter
大数据·分布式·spark
霑潇雨1 小时前
原生 Zookeeper 实现分布式锁案例
java·分布式·zookeeper·云原生·maven
逆境不可逃1 小时前
黑马 RabbitMq 高级篇 学习记录
分布式·学习·rabbitmq
Francek Chen1 小时前
【大数据存储与管理】云数据库:02 云数据库产品
大数据·数据库·分布式·云计算·云数据库
IT策士1 小时前
Python 中间件系列:kafka学习
python·中间件·kafka