1

我正在尝试遍历一个包含我需要显示的列名的数组。用户可以定义自己的列,因此这将是一个动态列名列表

例如,列名可能是:

["style", "color", "size"]

这些是我需要从名为results.

我正在这样做:

<cfset variables.styleText = "">
<cfloop array="#DeserializeJSON(variables.raw.field_names)#" index="x">
   <cfset variables.styleText = variables.styleText & "#results." & x &"# ">
</cfloop>
<cfoutout>variables.styleText</cfoutput>

但这给了我一个错误,因为我不能用quotaka结束变量名

 Diagnose: A CFML variable name cannot end with a &quot;.&quot; character. 
 The variable results. ends with a &quot;.&quot; character.  
 You must supply an additional structure key or delete the &quot;.&quot; character.

问题:
谁能给我一个提示,results在这种情况下,我需要如何修改它以输出查询中 的值#results.style# #results.color# #results.size#

谢谢!

4

1 回答 1

6

代替

<cfloop array="#DeserializeJSON(variables.raw.field_names)#" index="x">
 <cfset variables.styleText = variables.styleText & "#results." & x &"# ">
</cfloop>

你应该能够做到

<cfloop array="#DeserializeJSON(variables.raw.field_names)#" index="x">
 <cfset variables.styleText = variables.styleText & results[x][results.currentrow]>
</cfloop>

或者,如果您只是使用 CF9 或更高版本

<cfset variables.styleText&=results[x][results.currentrow]>
于 2013-02-22T16:02:18.053 回答