处理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();
        }
    }
相关推荐
ID_1800790547312 小时前
企业级实战:淘宝商品详情 API简要说明,json数据返回参考
json
学习3人组16 小时前
业务主表+JSON自定义字段
java·spring boot·json
Evand J18 小时前
【MATLAB例程】5个UAV 分布式围捕编队运动仿真 —— 基于PID控制
开发语言·分布式·matlab
heimeiyingwang19 小时前
【架构实战】Kafka深度实战:从消息队列到流处理平台
架构·kafka·linq
蓝眸少年CY19 小时前
Spark - Code 核心教程
大数据·分布式·spark
敖正炀20 小时前
CAP 定理、BASE 理论与一致性模型深度
分布式
青云计划20 小时前
kafka从入门到精通
kafka
倒流时光三十年20 小时前
第9篇 消息不丢:三端协同防丢失方案
spring boot·kafka
勤自省21 小时前
ROS2分布式通信与Launch文件实战:从踩坑到打通(第12-20讲总结)
分布式·ubuntu·ros2·gazebo·launch·rqt·rviz2
Car1221 小时前
在vscode中添加一个tasks.json实现 rt thread的scons编译功能
vscode·json·build·scons