【问题标题】:ColdFusion Append to Array for JSONColdFusion 附加到 JSON 数组
【发布时间】:2017-02-21 23:56:22
【问题描述】:

我正在尝试转换一些代码,发现自己陷入了添加到包含项目的数组的正确方法中。如何正确地将这组数据添加到数组的 list_items 中。我的问题是关闭循环之前的代码行...

<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>

【问题讨论】:

  • 您错误地引用了您的数组(除非这只是一个错字)。在循环中,您有&lt;cfset arrayAppend(item_list, items) /&gt;,但您的数组被定义为名为“数据”data["item_list"] 的结构的一部分。如果您将其更改为&lt;cfset arrayAppend(data["item_list"], items) /&gt;,它应该可以工作。
  • 谢谢!我不是 100% 确定它可以与 arrayAppend 命令一起使用 - 但它确实有效!
  • 如果它对您有用,请记住接受答案。这将使以后找到此帖子的其他人更容易看到它。

标签: arrays json coldfusion


【解决方案1】:

由 cmets 推广

我看到的唯一问题是您在循环中错误地引用了数组。您已使用此行将数组声明为名为“data”的结构的一部分:

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

但在循环中,您试图在这一行中仅将数组引用为“item_list”:

<cfset arrayAppend(item_list, items) />

如果您更改该行以将数组引用为“数据”结构的一部分,它应该可以工作,如下所示:

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

或者像这样使用点符号:

<cfset arrayAppend(data.item_list, items) />

【讨论】:

    猜你喜欢
    • 2016-10-18
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    • 1970-01-01
    • 2014-05-12
    • 1970-01-01
    • 2020-12-03
    相关资源
    最近更新 更多