13

+0.0ColdFusion 10 (10,0,11,285437) によってシリアル化されると0 が返される IBM MQ 呼び出しを介してデータを操作しています。無効な JSON になり、逆シリアル化できません。

stPolicy = { "prem": "+0.0" };
serializedData = serializeJSON(stPolicy);
writeDump(isJSON(serializedData));
writeDump(deserializeJSON(serializedData));

これは、逆シリアル化しようとするとエラーが出力NOされます。isJSONJSON parsing failure at character 9:'+' in {"prem":+0.0}

+0すべてをに置き換えることでこれを回避できます0が、これは ColdFusion のバグだと思います。他の誰かがこの問題を抱えていて、より良い修正を実装しましたか?

バグレポート提出:バグ #3632972

4

1 に答える 1

1

アドビのバグ データベースにはバグが修正済みとしてリストされていますが、まだリリースされていません。これが私が思いついた修正です。+0に置き換えるだけです。0

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