簡體   English   中英

獲取Coldfusion來解析json請求

[英]Get Coldfusion to parse a json request

我有一個javascript對象:

data = { color: red, day: monday, list: {1,2,3,4,5,6}}

我使用jQuery將其傳遞給coldfusion頁面:

$.ajax({
                type: "POST",
                url: "ajax_myPage.cfm",
                data: JSON.stringify(data),
                contentType: "application/json",
                dataType: "json" });

這是我的cfdump:

在此輸入圖像描述

(“列表”實際上將包含電子郵件列表,但我現在只測試一個地址)

在coldfusion中,我試圖將每個“部分”分配給變量:

<cfset requestBody = toString( getHttpRequestData().content ) />
<!--- Double-check to make sure it's a JSON value. --->
<cfif !isJSON( requestBody )>

<!--- Echo back POST data. --->
<h3>The URL you requested does not provide valid JSON</h3>
<cfdump
var="#requestBody#"
label="HTTP Body"
/>
<cfelse>
 <cfset cfData=DeserializeJSON(requestBody)>
 <cfset color = cfData.color>
 <cfset day = cfData.day>
 <cfset myList = cfData.list>
</cfif>

但是我收到“list”錯誤,

Complex object types cannot be converted to simple values. 

如何將列表解析為Coldfusion?

我會把數據作為post var發送,

data: { json: JSON.stringify(data) }

然后將其解析為變量:

<cfset structJSON = deserializeJSON(FORM.json)>

此時, cfdump結構檢查它的內容,以便您知道如何訪問它們。

由於我們不知道你傳遞給ColdFusion的json結構是什么,我不知道structJSON.list包含什么或者它為什么會拋出錯誤。

編輯:啊,我現在看到你的json。

您的列表無效json,將{}更改為[]

data = { color: "red", day: "monday", list: [1,2,3,4,5,6]}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM