java - Mule 4 中的 JSON 到平面文件?

标签 java mule dataweave flat-file mule4

我有一个简单的要求,即在 Mule 4 中将输入 JSON 转换为平面文件,但我无法在网上找到任何可靠的示例。我开始按如下方式创建示例架构,但它不起作用。

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| }

如何正确执行此操作?

最佳答案

错误消息告诉您错过了什么。

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
}

Good result with good preview

以下是如何正确使用 FIXEDWIDTH 的示例 https://simpleflatservice.com/mule4/FixedWidthSchemaTransformation.html

关于java - Mule 4 中的 JSON 到平面文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60670830/

相关文章:

java - 如何通过编辑 JTable 行来添加表模型值?

java - 以编程方式发送 Mule 消息(以前为 : Accessing mule http endpoint from java)

java - mule4日期格式解析问题,在dataweave 2.0中解析2019-02-27T15 :43:38. 38时无法解析 'T'

java - MQDestination 覆盖记帐 token 值

mule - Dataweave 1.0 将项目添加到数组

salesforce - 在 Mule 4 中使用 Dataweave 将 base64 转换为 byte[]

java - Android:快速滚动 ListView getPositionForSection 的奇怪行为

java - 如何使用 gson 创建一组键值对?

java - Java:如何将字符串(HH:MM:SS)转换为持续时间?

java - Commons Net FTPClient 与 Mule 无限期挂起