JSON 到 Mule 4 中的平面文件?
JSON to flat file in Mule 4?
我有一个将输入 JSON 转换为 Mule 4 中的平面文件的简单要求,但我无法在网上找到任何可靠的示例。我开始创建示例架构如下,但它不工作。
test.ffd 架构:
form: FLATFILE
id: 'test'
tag: '1'
name: Request Header Record
values:
- { name: 'aa', type: String, length: 10 }
- { name: 'bb', type: String, length: 8 }
- { name: 'cc', type: String, length: 4 }
数据编织:
%dw 2.0
output application/flatfile schemaPath='test.ffd'
---
{
aa : payload.a,
bb : payload.b,
cc : payload.c
}
输入JSON:
{
"a": "xxx",
"b": "yyy",
"c": "zzz"
}
但是它没有说
Message : "java.lang.IllegalStateException - Need to specify structureIdent or schemaIdent in writer configuration, while writing FlatFile at
4| {
| ...
8| }
如何正确执行此操作?
假设您正在尝试输出一个固定宽度的文件,您看起来就是这样,请更改
form: FLATFILE
至
form: FIXEDWIDTH
请记住,只有当您只有一个结构时,才能使用此 FFD。你可以传入:
payload map {
aa: $.a,
...
}
如果你有一个集合,它仍然可以工作,但如果你需要多个结构,你将无法使用 shorthand 架构。
为了解释您收到此错误的原因,请查看这些文档,阅读 "Writer properties (for Flat File)":
https://docs.mulesoft.com/mule-runtime/4.2/dataweave-formats#writer_properties_flat_file
错误消息告诉您遗漏了什么。
Need to specify structureIdent or schemaIdent in writer configuration
添加其中之一,平面文件或固定宽度应该可以正常工作。
例如添加segmentIdent:
%dw 2.0
output application/flatfile schemaPath = "test1.ffd",
segmentIdent = "test1"
---
payload map (a, index) -> {
aa: a.a,
bb: a.b,
cc: a.c
}
下面是如何正确使用 FIXEDWIDTH 的示例https://simpleflatservice.com/mule4/FixedWidthSchemaTransformation.html
我有一个将输入 JSON 转换为 Mule 4 中的平面文件的简单要求,但我无法在网上找到任何可靠的示例。我开始创建示例架构如下,但它不工作。
test.ffd 架构:
form: FLATFILE
id: 'test'
tag: '1'
name: Request Header Record
values:
- { name: 'aa', type: String, length: 10 }
- { name: 'bb', type: String, length: 8 }
- { name: 'cc', type: String, length: 4 }
数据编织:
%dw 2.0
output application/flatfile schemaPath='test.ffd'
---
{
aa : payload.a,
bb : payload.b,
cc : payload.c
}
输入JSON:
{
"a": "xxx",
"b": "yyy",
"c": "zzz"
}
但是它没有说
Message : "java.lang.IllegalStateException - Need to specify structureIdent or schemaIdent in writer configuration, while writing FlatFile at
4| {
| ...
8| }
如何正确执行此操作?
假设您正在尝试输出一个固定宽度的文件,您看起来就是这样,请更改
form: FLATFILE
至
form: FIXEDWIDTH
请记住,只有当您只有一个结构时,才能使用此 FFD。你可以传入:
payload map {
aa: $.a,
...
}
如果你有一个集合,它仍然可以工作,但如果你需要多个结构,你将无法使用 shorthand 架构。
为了解释您收到此错误的原因,请查看这些文档,阅读 "Writer properties (for Flat File)":
https://docs.mulesoft.com/mule-runtime/4.2/dataweave-formats#writer_properties_flat_file
错误消息告诉您遗漏了什么。
Need to specify structureIdent or schemaIdent in writer configuration
添加其中之一,平面文件或固定宽度应该可以正常工作。
例如添加segmentIdent:
%dw 2.0
output application/flatfile schemaPath = "test1.ffd",
segmentIdent = "test1"
---
payload map (a, index) -> {
aa: a.a,
bb: a.b,
cc: a.c
}
下面是如何正确使用 FIXEDWIDTH 的示例https://simpleflatservice.com/mule4/FixedWidthSchemaTransformation.html