处理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();
        }
    }
相关推荐
神所夸赞的夏天1 天前
RabbitMQ安装过程
分布式·rabbitmq
炸炸鱼.1 天前
部署Zabbix企业级分布式监控:从零到实战(知识点大全)
分布式·zabbix
笑尘~Y1 天前
Kafka核心技术解析
kafka
誰能久伴不乏1 天前
Qt C++ 解析 JSON 完全指南:从核心概念到工业级实战
c++·qt·json
phltxy1 天前
RabbitMQ 常见面试题
分布式·rabbitmq
小二·1 天前
Redis 7 实战:缓存/消息队列/分布式锁生产级实现
redis·分布式·缓存
小程故事多_801 天前
从初代架构到大模型时代,英伟达GPU底层架构演进与核心逻辑深度解析
java·人工智能·分布式·架构
江华森1 天前
Kafka 从入门到精通 — 完整学习笔记
笔记·学习·kafka
Irene19911 天前
(课堂笔记)Kafka + Flume 完整实战
kafka·flume
Irene19911 天前
Kafka + Flume 实操详情记录(略繁琐,包含错误和排查记录)
kafka·flume