13

我正在通过 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}

我可以通过将 all 替换为 来解决这个问题+00但我猜这是 ColdFusion 中的一个错误。有没有其他人遇到过这个问题并实施了更好的修复?

提交的错误报告:错误 #3632972

4

1 回答 1

1

Adobe 在其错误数据库中列出了已修复的错误,但尚未发布。这是我想出的解决方法。只需替换+00

private string function serializeJSONFixCF10(required string serializedData) {
  return replace(arguments.serializedData,'+0','0','all');
}
于 2013-12-09T18:27:15.893 回答