我正在尝试解析 xml 并从 xml 中读取大数值。我想在解析中将数字值视为 String ,但由于某种原因,我在解析 xml 后得到了不同的数字。我正在尝试从 xml 创建一个 json 文件。 Freemarker 是最新版本。
我的示例代码如下
<LOAN_IDENTIFIERS>
<LOAN_IDENTIFIER>
<MINIdentifier>999910700212884131</MINIdentifier>
</LOAN_IDENTIFIER>
</LOAN_IDENTIFIERS>
Sample Code
<#assign IDENTIFIER = LOAN[0][".//D:LOAN_IDENTIFIERS/.//D:LOAN_IDENTIFIER"]>
MtgId : ${fix(LOAN_IDENTIFIER)}
<#function fix arr>
<#list arr as m>
{
<#assign field = m[".//D:MINIdentifier"]!'null'>
<#if field != 'null' >
<#return field>
</#if>
}
</#list>
</#function>
Output
"MtgId ": 999910700212884096
Expected output is :
"MtgId ": 999910700212884131
但它是一个字符串; FreeMarker 不会自动将其转换为数字。 (即使这样做,它默认使用
BigDecimal
-s,因此没有精度损失。)另外,对我来说,它返回 999910700212884131。