有没有一种方法可以在coldfusion中轻松地将cfquery输出转换为DataTableJSON格式?

有没有一种方法可以在coldfusion中轻松地将cfquery输出转换为DataTableJSON格式?,coldfusion,google-visualization,Coldfusion,Google Visualization,我正在尝试使用GoogleCharts API生成一个图表,但我似乎无法获得所需格式的数据 coldfusion中的serializeJSON(数据)为我提供了JSON数据,但这似乎不是Charts API所期望的。是否有任何组件可用于将其转换为所需格式 查询 预期的JSON 这基本上就是你需要的。只需插入查询数据 <cfset chartsData = structNew()> <cfset chartsData["cols"] = arrayNew(1)> <

我正在尝试使用GoogleCharts API生成一个图表,但我似乎无法获得所需格式的数据

coldfusion中的serializeJSON(数据)为我提供了JSON数据,但这似乎不是Charts API所期望的。是否有任何组件可用于将其转换为所需格式

查询 预期的JSON
这基本上就是你需要的。只需插入查询数据

<cfset chartsData = structNew()>
<cfset chartsData["cols"] = arrayNew(1)>

<!--- use a query loop to copy query data to this struct --->
<cfloop query="UserDetailsResult">
   <cfset chartsRow = structNew()>
   <cfset chartsRow["id"] = ""> 
   <cfset chartsRow["label"] = "SignIn Method">
   <cfset chartsRow["pattern"] = "">
   <cfset chartsRow["type"] = "string">

   <cfset arrayAppend(chartsData["cols"], chartsRow)>
</cfloop>

<cfset chartsDataJSON = serializeJSON(chartsData)>


看看这个链接@RachelGallen专门寻找谷歌图表API。我已经可以使用coldfusion中的图表了。如果您给我们一个查询示例和所需的格式,可能会有所帮助,我们可能会为您提供转换它的指针。在coldfusion中生成一个模拟您预期结构的结构,然后序列化它。但是,根据coldfusion版本和应用程序设置,您仍然可能会遇到密钥大小写错误的问题。据我所知,解决这个问题的唯一方法是手动生成json,或者在coldfusion中更改保留变量名称大小写的选项。@KevinB感谢您的回复。我现在手工生成JSON,只是想检查是否有一个组件/库可以自动生成JSON。
{"COLUMNS":["LOGIN_MODE","TOTAL"],"DATA":[["manual",123],["swipe",20]]}
{ "cols": [ {"id":"","label":"SignIn Method","pattern":"","type":"string"}, {"id":"","label":"Count","pattern":"","type":"number"} ], "rows": [ {"c":[{"v":"manual","f":null},{"v":123,"f":null}]}, {"c":[{"v":"swipe","f":null},{"v":20,"f":null}]} ] }
<cfset chartsData = structNew()>
<cfset chartsData["cols"] = arrayNew(1)>

<!--- use a query loop to copy query data to this struct --->
<cfloop query="UserDetailsResult">
   <cfset chartsRow = structNew()>
   <cfset chartsRow["id"] = ""> 
   <cfset chartsRow["label"] = "SignIn Method">
   <cfset chartsRow["pattern"] = "">
   <cfset chartsRow["type"] = "string">

   <cfset arrayAppend(chartsData["cols"], chartsRow)>
</cfloop>

<cfset chartsDataJSON = serializeJSON(chartsData)>