我正在通过IBM MQ调用处理数据,其中0被返回为+0.0
当由ColdFusion 10(10,0,11,285437)序列化时,它导致无效的JSON并且无法反序列化
stPolicy = { "prem": "+0.0" };
serializedData = serializeJSON(stPolicy);
writeDump(isJSON(serializedData));
writeDump(deserializeJSON(serializedData));
这会为NO
输出isJSON
,并在尝试反序列化JSON parsing failure at character 9:'+' in {"prem":+0.0}
时出错。
我可以通过将所有+0
替换为0
来解决这个问题,但我猜这是ColdFusion中的一个错误。有没有其他人有这个问题,并实施了更好的解决方案?
提交错误报告:Bug #3632972
答案 0 :(得分:1)
Adobe在其bug database中列出了已修复的错误,但尚未发布。这是我提出的解决方案。只需将+0
替换为0
private string function serializeJSONFixCF10(required string serializedData) {
return replace(arguments.serializedData,'+0','0','all');
}