我正在调用API并需要向其发送带有凭据的JSON字符串。我们目前正在从CF9过渡到CF2016。在DEVL中我有两个版本。在测试和产品中我目前只有CF9。最初我编写代码并在CF2016上测试过,它工作正常。当我把它推到测试时,它没有用。我在DEVL中重试CF9,它也有错误。代码是:
<cfset logininfo = {"username": "eistech", "password": "#sat_pw#"}>
<cfset fromdate=dateformat(DateAdd('d', -1, dat), "yyyy-MM-dd") & 'T00:00:00-0500'>
<!--- Get token info--->
<cfhttp url="https://scoresdownload.collegeboard.org/pascoredwnld/files/list?fromDate=#fromdate#" method="post" result="finfo">
<cfhttpparam name="Content-Type" type="HEADER" value="application/json">
<cfhttpparam name="Accept" type="HEADER" value="application/json">
<cfhttpparam type="body" value="#serializeJSON(logininfo)#">
</cfhttp>
在CF9中运行时,我得到:
第20行第5行找到无效的CFML构造.ColdFusion是 看下面的文字:
{ (Line 20 is <cfset logininfo = {"username": "eistech", "password": "#sat_pw#"}>
我尝试用单引号将其括起来,但在两个实例中都失败了。如何在CF2016和CF9中使用它?
答案 0 :(得分:10)
CF9不理解问题中JSON字符串中使用的:
。
使用=
!
<cfset logininfo = {"username"= "eistech", "password"= "#sat_pw#"}>