阵列细胞冷融的结构

时间:2013-08-22 16:00:55

标签: coldfusion

我一直在尝试创建数据结构,但我很难过。我正在尝试创建这样的数据结构:

{
    "vehicle": [
        {
            "inv_id": "123412",
            "year": "2013",
            "make": "Jeep",
            "model": "Grand Cherokee"
        },
        {
            "inv_id": "1224522",
            "year": "2013",
            "make": "Jeep",
            "model": "Grand Cherokee"
        }
    ]
}

这是我尝试过没有运气的东西。

<cfset result["vehicle"] = []>
<cfoutput>
<cfloop query="qinv">
    #arrayAppend("result.vehicle,{})#
    <cfloop array="#result.vehicle#" index="i">
        #structInsert(result.vehicle[i], "inventory_id", qInv.inventory_id)#
        #structInsert(result.vehicle[i], "year", qInv.year)#
        #structInsert(result.vehicle[i], "make", qInv.make)#
        #structInsert(result.vehicle[i], "model", qInv.model)#
    </cfloop>
</cfloop>
</cfoutput>

这会在第一个structInsert行上抛出coldfusion错误The value coldfusion.runtime.Struct cannot be converted to a number.

有什么建议吗?

1 个答案:

答案 0 :(得分:5)

你不需要那个数组循环...想一想:你在循环什么?这是一个空数组。您需要做的就是将结构附加到数组:

<cfset arrayAppend( result.vehicle,{
    "inventory_id" = qInv.inventory_id,
    "year" =  qInv.year,
    "make" = qInv.make,
    "model" = qInv.model
})>