我需要将所有ColdFusion异常详细信息存储在数据库表中。所以我打算序列化cfcatch结构并将其存储在db中,但是我有一个问题。序列化之前和之后的结构是不一样的。因此,出于测试目的,这里是我在本地尝试的一小段代码,
<cftry>
<cfset a = 5/0>
<cfcatch type="any">
<cfdump var="#cfcatch#">
<cfset a = SerializeJSON(cfcatch)>
<cfdump var = "#DeserializeJSON(a)#">
</cfcatch>
</cftry>
答案 0 :(得分:4)
作为OP问题的评论输入,但在此处添加,以防其他人有用。
尝试:
<cfset a = SerializeJSON(duplicate(cfcatch))>
虽然当你转储它时,cfcatch
数据看起来像一个ColdFusion结构,但它不是真的,duplicate
强制它到ColdFusion结构,然后它可以序列化。请注意,副本会执行深层复制。
有关cfcatch的更多信息,请参阅https://stackoverflow.com/a/30630495/291653。