json - Mule (Dataweave) 将 JSON 数组转换为字符串

标签 json mule dataweave

这可能很简单,但我在搜索中找到的所有内容都只是模糊地与我的问题相关。

我有这个:

{
  "user":"C03999",
  "caseNumber":"011-1234567",
  "documents":[
    {
        "file":[
            {"name":"indem1","document":"xSFSF%%GSF","mimeType":"PDF"},
            {"name":"indem2","document":"xSFSF%%GSF","mimeType":"PDF"}
            ]
        }
    ],
  "mortgagee":"22995",
  "billTo":"Originator",
  "agreementDate":"2016-11-25",
  "term":360,
  "expirationDate":"2017-11-25",
  "startDate":"Agreement",
  "lenderEndorsed":true,
  "lenderExecutedAgreement":false,
  "indemnificationAgreementTransferable":false,
  "qadLrsFileNumber":"2016-99999-9999",
  "docketNumber":"2016-9999-99"
}

我想从中得到这个字符串: 独立1,独立2

我创建了一个全局函数:

<configuration doc:name="Configuration">
     <expression-language autoResolveVariables="true">
         <global-functions>
             def convertToString(data){
                 return data.toString();
             }
         </global-functions>
     </expression-language>
</configuration>

我的转换看起来像这样:

%dw 1.0
%output application/csv
---
payload.documents.file map {
      "" : convertToString($.name)
}

我的输出是这样的: [独立 1\, 独立 2]

我需要做什么才能得到我想要的字符串 (indem1,indem2)?

最佳答案

您的问题标题说“JSON array To string”,但上面附加的数据编织代码在输出中包含 application/csv。

您要转换成 csv 吗??如果这是预期,逗号是 .csv 格式的保留字符,这就是 , 被反斜杠转义的原因 [indem1\,indem2]。

如果您打算转换成 java,这里是返回 String 值的代码。

%dw 1.0

%输出应用/java

payload.documents[0].file.*name joinBy ','

关于json - Mule (Dataweave) 将 JSON 数组转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41491153/

相关文章:

javascript - 在单个 Node.js + Express 响应中发送图像和 JSON 数据

java - 配置 spring bean 接受 mule 消息或事件时出现问题

java - Mulesoft 转换消息转义正斜杠

dataweave - 如何根据 id 值合并 2 个字段并确保该字段是否不可用

javascript - Javascript/Node.js 引擎如何将 JSON 存储在内存中?

javascript - 将 JSON 从 JStree 发送到 MSSQL DB

javascript - Json数据不显示在html服务器上

http - 带有 URL 形式编码正文的 Mule ESB HTTP POST 请求

soap - Mule SOAP 客户端包装器作为参数而不是对象数组

mule - 从 dataweave 内部记录