处理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();
        }
    }
相关推荐
yzhSWJ3 分钟前
MySQL 中查询 VARCHAR 类型 JSON 数据的
mysql·adb·json
CopyLower1 小时前
分布式ID生成方案的深度解析与Java实现
java·开发语言·分布式
Charlie__ZS4 小时前
SpringCloud - 分布式事务
分布式·spring·spring cloud
小旺不正经5 小时前
txt、Csv、Excel、JSON、SQL文件读取(Python)
sql·json·excel
lauo7 小时前
智体知识库:ai-docs对分布式智体编程语言Poplang和javascript的语法的比较(知识库问答)
开发语言·前端·javascript·分布式·机器人·开源
Hadoop_Liang11 小时前
openEuler24.03 LTS下安装Spark
大数据·分布式·spark·openeuler
lilye6613 小时前
程序化广告行业(80/89):近年发展动态与技术标准演进
sql·json·rabbitmq
何似在人间57513 小时前
Seata 支持哪些模式的分布式事务?
分布式·mysql·seata·分布式事务
IT成长日记15 小时前
【Hadoop入门】Hadoop生态之Yarn简介
大数据·hadoop·分布式
程序员沉梦听雨15 小时前
Kafka实现延迟消息
分布式·kafka