对于 cfcatch 块,SerializeJSON 和 DeserializeJSON 无法正常工作

SerializeJSON and DeserializeJSON not working properly for cfcatch block

我需要将所有 ColdFusion 异常详细信息存储在数据库中 table。所以我打算把cfcatch结构序列化存入db,但是我有一个issue.The结构,序列化前后不一样。因此,出于测试目的,这是我在本地试过的一小段代码,

<cftry>
 <cfset a = 5/0>
 <cfcatch type="any">
     <cfdump var="#cfcatch#">
     <cfset a = SerializeJSON(cfcatch)>
     <cfdump var = "#DeserializeJSON(a)#">
 </cfcatch>
</cftry>

这是第一个转储(原始 cfcatch)的屏幕截图。 这是第二次转储的屏幕截图(即序列化然后反序列化)

作为对 OP 问题的评论输入,但也添加在这里以防对其他人有用。

尝试:

 <cfset a = SerializeJSON(duplicate(cfcatch))>

虽然当您转储它时,cfcatch 数据看起来像一个 ColdFusion 结构,但实际上并非如此,duplicate 强制它成为一个 ColdFusion 结构,然后它可以序列化。请注意,duplicate 会执行深层复制。

有关 cfcatch 是什么的更多信息,请参阅 。