[英]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.