这可能很简单,但我在搜索中找到的所有内容与我的问题只是模糊不清。
我有这个:
{
"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"
}
我想从中得到这个字符串: indem1,indem2
我创建了一个全局函数:
<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)
}
我的输出如下: [indem1 \,indem2]
我需要做什么才能获得我想要的字符串(indem1,indem2)?
答案 0 :(得分:2)
你的问题标题是“JSON数组到字符串”,但上面附带的数据编码代码在输出中有application / csv。
您是否正在尝试转换为csv?如果这是期望,逗号是.csv格式的保留字符,这就是为什么,使用反斜杠[indem1 \,indem2]进行转义。
如果您打算转换为java,这里是返回String值的代码。
%dw 1.0
payload.documents [0] .file。* name joinBy','