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は、deselializeJSON()を呼び出すまで、渡したjsonをプレーンテキスト文字列と見なします。

<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 に答える