2017-02-20 14 views
1

いくつかのコードを変換しようとしていて、項目がある配列に適切な方法で貼り付けられています。このデータセットを配列のlist_itemsに正しく追加するにはどうすればよいですか。私の問題は、ループを閉じる前に、コードの行である...私は見JSONの配列にColdFusionを追加

<cfset data["item_list"] = [] /> 
<cfloop query="qryShoppingCartContents"> 
    <cfset items = { 
     "name" = "#qryShoppingCartContents.name#", 
     "description" = "#qryShoppingCartContents.short_desc#", 
     "quantity" = "#myqty#", 
     "price" = "$#numberformat(qryShoppingCartContents.retail_price)#" 
    } /> 

    <cfset arrayAppend(item_list, items) /> 
</cfloop> 
コメントから昇格
+2

あなたがあなたの配列を間違って参照しています(これはここの入力ミスではありません)。ループ内には ''がありますが、配列は "data" 'data [" item_list "]'という名前の構造体の一部として定義されています。これを 'に変更するとうまくいくはずです。 –

+0

ありがとう!私はarrayAppendコマンドで動作することを100%確信していませんでしたが、それはありました! –

+0

それがあなたのために働いた場合、答えを受け入れることを忘れないでください。そうすれば、他の人が将来この投稿を見つけやすくなります。 –

答えて

1

唯一の問題は、ループ内で間違って配列を参照していることです。あなたはこのラインで「データ」という名前の構造の一部として、あなたの配列を宣言している:

<cfset data["item_list"] = [] /> 

しかし、ループ内で、あなたはこの行で唯一の「item_list」として配列を参照しようとしている。

<cfset arrayAppend(item_list, items) /> 

<cfset arrayAppend(data["item_list"], items) /> 

それとも、このようにドット表記法を使用して:あなたはこのような「データ」構造の一部として配列を参照するために、その行を変更した場合

それは動作するはずです

<cfset arrayAppend(data.item_list, items) /> 
関連する問題