数据编织 Pojo 到 Pojo 的映射
Data Weave Pojo to Pojo Mappings
我正在尝试执行如下所示的 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;
}
}
public class Pojo2实现Serializable {
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"
}
提前致谢!
试试
{
barList: in1.fooList map {
item1: $.item1
} as :object {class : "com.fooClass"}
} as :object {class : "com.barClass"}
注意:as :object {class : "com.fooClass"}
应该是可选的,因为可以推断
问题似乎是您定义了一个仅包含 one object
的 array
并用以下结果填充该对象:
payload.fooList map {
item1:$.item1
}
这是一个对象数组:
[
{
item1: "value1"
},
{
item1: "value2"
}
]
用它填充对象后,结果如下:
{
item1: "value1",
item1: "value2",
item1: ...
}
因此,您正在用一个包含大量重复字段(具有不同值)的对象填充数组,并且在写入输出时(因为它是 java),这些字段中的每一个都只获得一个值.
我正在尝试执行如下所示的 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;
}
}
public class Pojo2实现Serializable {
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"
}
提前致谢!
试试
{
barList: in1.fooList map {
item1: $.item1
} as :object {class : "com.fooClass"}
} as :object {class : "com.barClass"}
注意:as :object {class : "com.fooClass"}
应该是可选的,因为可以推断
问题似乎是您定义了一个仅包含 one object
的 array
并用以下结果填充该对象:
payload.fooList map {
item1:$.item1
}
这是一个对象数组:
[
{
item1: "value1"
},
{
item1: "value2"
}
]
用它填充对象后,结果如下:
{
item1: "value1",
item1: "value2",
item1: ...
}
因此,您正在用一个包含大量重复字段(具有不同值)的对象填充数组,并且在写入输出时(因为它是 java),这些字段中的每一个都只获得一个值.