我在Coldfusion中使用serializeJSON和deserializeJSON函数遇到了一个奇怪的问题.当我执行以下操作时:
<cfdump var="#deserializeJSON(serializeJSON('4D '))#">
Run Code Online (Sandbox Code Playgroud)
并加载页面,我得到一个错误,上面写着'4D'中的JSON解析失败:'D'.当我更改D以使输入看起来像'4E'时,页面加载正常,但是当我更改数字以便输入读取类似'5D'的内容时,我得到相同的错误.我想我可能会意外地输入一个转义字符,但我对字符编码的了解不够充分.有没有人知道为什么会这样?
小智 5
您似乎正在使用ColdFusion 9.x,因为此问题已在更高版本的ColdFusion中得到修复.
之前已经问过同样的问题,请参阅Coldfusion JSON序列化不一致
任何完全数字字符串,尾随D或F后跟空格[..反序列化时出现错误的结果].
Run Code Online (Sandbox Code Playgroud)JSON parsing failure at character 9:'D' in {"wtf":4D }解析器修剪和检查的最后一个字符是
D或F(双或浮动)和条带的.如果剩余的字符是数字,则不添加引号.如果你没有尾随空格,它可以很好地工作.数字D|F和空格的特定组合使其跳跃.
| 归档时间: |
|
| 查看次数: |
66 次 |
| 最近记录: |