0

我正在向 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>

我在上面的其他功能中执行此操作,它工作正常,但无论出于何种原因,我无法让它在这里工作。我假设我做错了什么,但我无法弄清楚,所以我问社区。

有什么想法吗?

4

1 回答 1

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>
于 2012-05-31T15:22:08.257 回答