这可能很简单,但我在搜索中找到的所有内容都只是模糊地与我的问题相关。
我有这个:
{
"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/