处理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();
        }
    }
相关推荐
bugcome_com7 小时前
JWT 知识小课堂:从入门到精通,一文吃透 JSON Web Token
前端·json
ltl8 小时前
3D 并行深度:数据 / 张量 / 流水 / 序列 / ZeRO
分布式
FserSuN16 小时前
回顾Spark的概念与应用
大数据·分布式·spark
Devin~Y21 小时前
从内容社区到AI智能客服:Spring Boot + Spring Cloud + Spring AI 全栈实战面试拆解
java·spring boot·redis·elasticsearch·spring cloud·kafka·mybatis
ccino .1 天前
awvs_json_word.py 使用说明手册
json·word
richard_yuu1 天前
JSON vs XML vs 二进制:3种序列化终极选型
xml·c++·qt·学习·json
IT机器猫1 天前
RabbitMQ基础二
java·spring boot·分布式·spring cloud·log4j·rabbitmq·springamqp
水无痕simon1 天前
3 RabbitMQ基础
分布式·rabbitmq·ruby
用户7783366132112 天前
SERP 返回 JSON 用 Pydantic 强校验:类型安全解析
json
starzy19902 天前
SparkSQL 数据源与底层架构深度剖析
大数据·分布式·架构·spark