如何在SerializeJSON中更改每个对象的标签

时间:2014-12-01 11:49:21

标签: json coldfusion coldfusion-11

我正在尝试使用ColdFusion的SerializeJSON()来返回JSON数据。

到目前为止,我已经这样做了:

<cfset rows = [] />
<cfloop query="rsProducts">

    <!--- Create a row struct. --->
    <cfset row = {} />

    <!--- Add each column to our struct. --->
    <cfloop
    index="column"
    list="#rsProducts.columnList#"
    delimiters=",">
        <cfset row[ column ] = rsProducts[ column ][ rsProducts.currentRow ] />
    </cfloop>

    <!--- Append the row struct to the row array. --->
    <cfset arrayAppend( rows, row ) />
</cfloop>

<cfreturn SerializeJSON(rows, true)>   

这样可以正常生成JSON,如下所示:

[Object {PRICE: 89.99, PRODUCTSTATUS: 1, COUNTRY: US}, Object {PRICE: 110.50, PRODUCTSTATUS: 4, COUNTRY: UK}, Object {PRICE: 41.20, PRODUCTSTATUS: 1, COUNTRY: IN}]

然而,不是每个项目的“对象”标签,我希望它是“ProductItem”。它让我以后更容易在jQuery中处理。

我怎么能拥有它所以它将JSON中的每个对象标记为“ProductItem”?

1 个答案:

答案 0 :(得分:4)

您可以轻松地以这种方式循环数据。

.success(function(data) {
    var ProductItem  = JSON.parse(data);
    $.each(ProductItem,function(key,value){
      console.log(value.PRICE +" "+ value.PRODUCTSTATUS + " " + value.COUNTRY);
    });