从骆驼交换到Java对象的迭代/获取数据

发布于 2025-02-14 02:15:55 字数 1102 浏览 0 评论 0原文

在项目流中,我正在以Apache Camel Exchange中的JSON Collection的形式获取数据,并进一步处理它,我需要在Java对象中进行转换,

try{

        List<RespModel> records = (List<RespModel>) exchange.getIn().getBody(RespModel.class);

        System.out.println(records.size());

    }catch (Exception e){
        System.out.println("NO LUCK "+e.getLocalizedMessage());
    }

但我将记录视为null。 您能帮我改变吗?

交换数据如下 -

      "identifier": {
          "domain": "transport",
          "id": "123",
          "version": 1
      },
      "record": "NEW",
      "payload": {
          "pesonalDetails" : {
          "name" : "bla bla bla"
          "dob" : 
          },
          "reason" :
          
      }
},{
      "identifier": {
          "domain": "transport",
          "id": "123",
          "version": 1
      },
      "record": "NEW",
      "payload": {
          "pesonalDetails" : {
          "name" : "bla bla bla"
          "dob" : 
          },
          "reason" :
          
      }]```

I am getting null here, how can i achieve this ? pls reply if you know. Thanks

In the project flow i am getting the data in form of json collection in apache camel exchange and to process it further i need to transform it in java object

try{

        List<RespModel> records = (List<RespModel>) exchange.getIn().getBody(RespModel.class);

        System.out.println(records.size());

    }catch (Exception e){
        System.out.println("NO LUCK "+e.getLocalizedMessage());
    }

But i am getting records as null.
Could you please help me to transform this ?

exchange data is as below -

      "identifier": {
          "domain": "transport",
          "id": "123",
          "version": 1
      },
      "record": "NEW",
      "payload": {
          "pesonalDetails" : {
          "name" : "bla bla bla"
          "dob" : 
          },
          "reason" :
          
      }
},{
      "identifier": {
          "domain": "transport",
          "id": "123",
          "version": 1
      },
      "record": "NEW",
      "payload": {
          "pesonalDetails" : {
          "name" : "bla bla bla"
          "dob" : 
          },
          "reason" :
          
      }]```

I am getting null here, how can i achieve this ? pls reply if you know. Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

红墙和绿瓦 2025-02-21 02:15:55

最终得到答案 -

String result = IOUtils.toString((InputStream) exchange.getIn().getBody(), StandardCharsets.UTF_8);
        List<RespModel> = new ObjectMapper().readValue(result,
                new TypeReference<List<RespModel>>() {
                });

Got the answer finally -

String result = IOUtils.toString((InputStream) exchange.getIn().getBody(), StandardCharsets.UTF_8);
        List<RespModel> = new ObjectMapper().readValue(result,
                new TypeReference<List<RespModel>>() {
                });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文