处理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();
        }
    }
相关推荐
代码中介商41 分钟前
JSON 完全指南:从语法到项目实战
json
名字还没想好☜2 小时前
Go 用 json.Decoder 流式解析大 JSON:边读边处理不爆内存
开发语言·后端·golang·go·json
gf13211113 小时前
【python_发送飞书卡片消息_直接组装JSON格式发送卡片】
python·json·飞书
KANGBboy3 小时前
doris+kafka安装部署(单机+集群)二时钟服务器 java_home
服务器·分布式
爱笑的k115 小时前
分布式通信原语
分布式·ai infra
实战派K8S&DB5 小时前
GaussDB 高可用演进:从流复制到 DCF 分布式共识
分布式·gaussdb
写后端的胖头鱼5 小时前
【高频面试题】分布式锁在项目中的应用
java·分布式·后端·分布式锁·高频面试题
有梦想的咕噜6 小时前
Newtonsoft.Json (Json.NET) 常用方法汇总
linux·json·.net
clz13145216 小时前
Kafka 日消 10 亿场景:用 ConcurrentLinkedQueue 实现高性能批量消费缓冲
分布式·kafka·linq