2014-01-23 88 views
0

我這怎麼能轉換爲CF轉換(陣列())到CF

$client = array(array("apPat" => 'Estrada', "apMat" => 'Castillo')); 

我需要這個對象從CF發送到web服務網,但web服務不接受它。

我試圖

<cfset client = arraynew[]> 
<cfset client[1] = structnew()> 
<cfset client[1].apPat = "Estrada"> 
<cfset client[1].apMat = "Castillo"> 

這是我真正的代碼

<cfset arrAgente[1] = {}> 
<cfset arrAgente[1].ramoTecnico = "1"> 
<cfset arrAgente[1].codAgente = "5095"> 

<cfset emissionRequest = {}> 
<cfset emissionRequest.ramoTecnico = "1"> 
<cfset emissionRequest.codAgente = "5095"> 
<cfset emissionRequest.poliza = {}> 
<cfset emissionRequest.poliza.codTipoPoliza = "2"> 
<cfset emissionRequest.poliza.ramoComercial = "5"> 
<!--- here is where I have problems beacuse I need to send an array or a list. The above code I dont have problems, the Net recognize it like a single array the structures-----> 
<cfset emissionRequest.agente = #arrAgente#> 
+1

您需要提供更多的信息。 「WS不接受」是什麼意思?錯誤嗎?錯誤是什麼?關於WS似乎不喜歡的數據結構是什麼?我們不是,恐怕是心靈感應:您需要向我們提供所有必要的信息以幫助您。建議閱讀:http://cfmlblog.adamcameron.me/2013/09/short-self-contained-correct-compilable.html –

+5

''是無效的CFML。它應該是''或''......記住@ AdamCameron指出'client'用作範圍 – duncan

+0

Heh,好點,Dunc 。 –

回答

4

client是CFML一個範圍,所以我懷疑,你可以寫信給它這樣的。無論如何,使用不同的變量名稱(首先,「客戶」不是一個非常具有描述性的變量名稱)。

文檔:「Scope types

0

我不知道PHP,但快速search tells mearray(array())創建一個PHP多維數組。並在你提到的意見(我認爲)需要一個多維數組 - 網絡不認識像數組陣列...如果是這樣的話,那麼你需要在ColdFusion中創建一個多維數組。你是這樣做的(reference):

<cfset arrAgente = ArrayNew(2) /> 

所以,你可以嘗試這樣的事:

<cfset arrAgente = ArrayNew(2) /> 
<cfset strAgente = StructNew() /> 

<cfset strAgente.apPat = "Estrada"> 
<cfset strAgente.apMat = "Castillo"> 
<cfset arrAgente[1][1] = strAgente /> 

它給你這樣的:

enter image description here

如果情況事項(公告這給你所有的索引名稱大寫)然後試試這樣保留你給它的情況:

<cfset arrAgente = ArrayNew(2) /> 
<cfset strAgente = StructNew() /> 

<cfset rv = StructInsert(strAgente,"apPat","Estrada") /> 
<cfset rv = StructInsert(strAgente,"apMat","Castillo") /> 
<cfset arrAgente[1][1] = strAgente /> 

它給你這樣的:

enter image description here