【问题标题】:ColdFusion JSON return in a specific formatColdFusion JSON 以特定格式返回
【发布时间】:2015-04-14 00:58:16
【问题描述】:

我正在尝试将数据库中的数据返回到名为 HighCharts 的基于 jQuery 的图表中,但到目前为止没有运气。

我的 cfquery 返回两列 - DateOnly 和 total 如果我使用下面的代码,在其中手动输入 7 个日期,它会完美运行。

<cfset response = serializeJSON([
        [tmz.DateOnly[1],tmz.total[1]],
        [tmz.DateOnly[2],tmz.total[2]],
        [tmz.DateOnly[3],tmz.total[3]],
        [tmz.DateOnly[4],tmz.total[4]],
        [tmz.DateOnly[5],tmz.total[5]],
        [tmz.DateOnly[6],tmz.total[6]],
        [tmz.DateOnly[7],tmz.total[7]]]) />
    <cfoutput>#response#</cfoutput>

但是,这种方式我仅限于 7 天,无法动态扩展列表的长度。 有没有办法将 cfquery 转换为可以被 javascript 图表接受的这种类型的列表?

顺便说一句,这只是我尝试过的不同尝试之一,但没有成功:

<cfset a = ArrayNew(1)>
    <cfoutput query="tmz">
        <cfset b = ArrayNew(1)>
        <cfset ArrayAppend(b,DateOnly)>
        <cfset ArrayAppend(b,total)>
        <cfset b = Arraytolist(b,",")>
        <cfset a[currentrow] = b>
    </cfoutput>
    <cfset b = "">
    <cfloop from="1" to="#ArrayLen(a)#" index="i">
        <cfset b = b & "["&a[i]&"],">
    </cfloop>
<cfset response = serializeJSON(b)>

【问题讨论】:

    标签: javascript jquery json highcharts coldfusion


    【解决方案1】:
    <cfset a = []>
    <cfloop query="tmz">
      <cfset row = [tmz.dateOnly, tmz.total]>
      <cfset arrayAppend(a, row)>
    </cfloop>
    <cfset response = serializeJSON(a)>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      • 2014-04-29
      • 2014-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多