我正在传递一个CFC JSON,并且有一个可能存在或不存在的密钥。所以,我正在用isDefined
检查它,但无论出于何种原因,coldfusion认为它不存在,何时,从我所看到的显而易见的。我已经尝试了所有我能想到的东西,但现在我对这个问题感到茫然。
这是从Firebug中提取的JSON:
[{"type":"USEQUIT","date":"01/01/2011"}] //the date, may or may not exist
这是CFC功能唯一重要的部分:
<cfargument name="attribs">
//debugging code
<cfif isDefined("attribs.date")>
<cfdump var="date here">
<cfelse>
<cfdump var="date not here">
</cfif>
我在其他功能中执行此操作,它工作正常,但无论出于何种原因,我无法在此处工作。我假设我做错了什么,但我无法理解,所以我问社区。 p>
有什么想法吗?
答案 0 :(得分:3)
CF看到您以纯文本字符串传递的json,直到您在其上调用deselializeJSON():
<cfargument name="attribs">
//debugging code
<cfset var ds_attribs = deserializeJSON(arguments.attribs)>
<cfif structKeyExists(ds_attribs[arrayLen(ds_attribs)], "date")>
<cfdump var="date here">
<cfelse>
<cfdump var="date not here">
</cfif>