首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据编织Pojo到Pojo映射

数据编织Pojo到Pojo映射
EN

Stack Overflow用户
提问于 2015-08-31 08:42:13
回答 1查看 1.8K关注 0票数 1

我试图按照下面的方式对Pojo进行一个Pojo转换(每个Pojo都有一个对象列表)--输出被转换了,但正在跳过下面的对象示例代码。

代码语言:javascript
复制
public class Pojo1 implements Serializable {

 private List<Foo> fooList =new ArrayList<Foo>(1);

 public Pojo1() {
 }

 public List<Foo> getFooList() {
     return fooList ;
 }

 public void setFooList(List<Foo> fooList) {
     this.fooList= fooList;
 }

}

公共类Pojo2实现可序列化{

代码语言:javascript
复制
    private List<Bar> barList =new ArrayList<Bar>(1);

    public Pojo2() {
    }

    public List<Bar> getBarList() {
        return barList ;
    }

    public void setBarList(List<Bar> barList) {
        this.barList= barList;
    }

}

DataWeave转换如下所示--这很好,但是列表中只有一个对象被转换,而我遗漏了第二个对象。

代码语言:javascript
复制
   barList: [{
   ( 
       payload.fooList map {
           item1:$.item1                
       }
   )
   } as :object {
        class :"com.fooClass"
   }]
   } as :object {
       class : "com.barClass"
   }

提前谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-31 13:01:29

试着

代码语言:javascript
复制
{
  barList: in1.fooList map {
    item1: $.item1
  } as :object {class : "com.fooClass"}
} as :object {class : "com.barClass"}

注意:as :object {class : "com.fooClass"}应该是可选的,因为可以推断它。

问题似乎是,您定义了一个只使用arrayone object,并填充了该对象的结果:

代码语言:javascript
复制
payload.fooList map {
  item1:$.item1                
}

它是一个对象数组:

代码语言:javascript
复制
[
  {
    item1: "value1"
  },
  {
    item1: "value2"
  }
]

在用它填充对象之后,它的结果是:

代码语言:javascript
复制
{
  item1: "value1",
  item1: "value2",
  item1: ...
}

因此,您在数组中填充一个对象,其中包含大量重复字段(具有不同的值),并且当写入输出时(因为它是java的),这些字段中的每一个只得到一个值。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32307145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档