我如何将其转换为CF
$client = array( array( "apPat" => 'Estrada', "apMat" => 'Castillo' ) );
我需要将此对象从CF发送到net webservice,但Webservice不接受它。
我试过
<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#>
答案 0 :(得分:4)
client
是CFML中的一个范围,所以我怀疑你可以这样写。使用不同的变量名称(“客户”首先不是一个非常具有描述性的变量名称,无论如何)。
文档:“Scope types”
答案 1 :(得分:0)
我不知道PHP,但array(array())
快速search tells me在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 />
这给了你:
如果案件有问题(通知给你索引名称的全部大写),那么试试这样就保留你给它的情况:
<cfset arrAgente = ArrayNew(2) />
<cfset strAgente = StructNew() />
<cfset rv = StructInsert(strAgente,"apPat","Estrada") />
<cfset rv = StructInsert(strAgente,"apMat","Castillo") />
<cfset arrAgente[1][1] = strAgente />
这给了你: