Я делаю преобразование xml в json, используя freemarker.Мой Xml выглядит следующим образом:
<ResponseMetadata>
<ResponseCode>HS000000</ResponseCode>
<ResponseDescriptionText>Success</ResponseDescriptionText>
</ResponseMetadata>
Я использую следующий ftl для конвертации.
<#assign data = xml['child::node()']>
{
"ResponseMetadata":{
<#if (data.ResponseCode)?has_content>"ResponseCode":"${data.ResponseCode}",</#if>
<#if (data.ResponseDescriptionText)?has_content>"ResponseDescriptionText":"${data.ResponseDescriptionText}",</#if>
<#if (data.TDSResponseDescriptionText)?has_content>,"TDSResponseDescriptionText":"${data.TDSResponseDescriptionText}" </#if>
}
}
Я получаю следующие выходные данные, где запятая (,) печатается после второго элемента, поскольку третий элемент неприсутствует в источнике XML.
"ResponseMetadata":{
"ResponseCode":"HS000000",
"ResponseDescriptionText":"Success" ,
}
}
Я хочу вывод без запятой, если элемент не найден, как показано ниже:
"ResponseMetadata":{
"ResponseCode":"HS000000",
"ResponseDescriptionText":"Success"
}
}
Мой вопрос заключается в том, как пропустить запятую, когда следующий элемент неприсутствует в источнике xml.Спасибо