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

时间:2016-06-10 07:29:14

标签: serialization coldfusion coldfusion-9 coldfusion-10

我需要将所有ColdFusion异常详细信息存储在数据库表中。所以我打算序列化cfcatch结构并将其存储在db中,但是我有一个问题。序列化之前和之后的结构是不一样的。因此,出于测试目的,这里是我在本地尝试的一小段代码,

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

以下是第一个转储(原始cfcatch)的屏幕截图。 enter image description here 这是第二个转储的截图(即序列化然后反序列化)

enter image description here

1 个答案:

答案 0 :(得分:4)

作为OP问题的评论输入,但在此处添加,以防其他人有用。

尝试:

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

虽然当你转储它时,cfcatch数据看起来像一个ColdFusion结构,但它不是真的,duplicate强制它到ColdFusion结构,然后它可以序列化。请注意,副本会执行深层复制。

有关cfcatch的更多信息,请参阅https://stackoverflow.com/a/30630495/291653