我试图按照下面的方式对Pojo进行一个Pojo转换(每个Pojo都有一个对象列表)--输出被转换了,但正在跳过下面的对象示例代码。
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实现可序列化{
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转换如下所示--这很好,但是列表中只有一个对象被转换,而我遗漏了第二个对象。
barList: [{
(
payload.fooList map {
item1:$.item1
}
)
} as :object {
class :"com.fooClass"
}]
} as :object {
class : "com.barClass"
}提前谢谢!
发布于 2015-08-31 13:01:29
试着
{
barList: in1.fooList map {
item1: $.item1
} as :object {class : "com.fooClass"}
} as :object {class : "com.barClass"}注意:as :object {class : "com.fooClass"}应该是可选的,因为可以推断它。
问题似乎是,您定义了一个只使用array的one object,并填充了该对象的结果:
payload.fooList map {
item1:$.item1
}它是一个对象数组:
[
{
item1: "value1"
},
{
item1: "value2"
}
]在用它填充对象之后,它的结果是:
{
item1: "value1",
item1: "value2",
item1: ...
}因此,您在数组中填充一个对象,其中包含大量重复字段(具有不同的值),并且当写入输出时(因为它是java的),这些字段中的每一个只得到一个值。
https://stackoverflow.com/questions/32307145
复制相似问题