Coldfusion - 在SerializeJSon之前修改输出?

时间:2013-01-26 20:47:53

标签: json coldfusion

首先,对问题中的措词道歉 - 我无法想出更好的事情,抱歉!

这是场景 - 我正在使用我无法控制的JS前端,以及我控制的Coldfusion后端。

一切都运转良好,有一个小例外 - 我希望这是一个简单的解决方案!数据库当前仅存储图像的文件名,但前端需要完整的URL。因此,我需要在SerializeJson之前附加域(它将始终是相同的)。到目前为止,我已经尝试了一些没有成功的事情,并且找不到任何语法示例。

我现有的代码如下;

<cfquery name="qryNames">
    SELECT ID, imgthumb, imgfull 
    FROM   images 
    ORDER BY ID DESC
</cfquery>

<cfset data = [] />

<cfoutput query="qryNames">
    <cfset obj = {
                   "thumb" = ImgThumb,
                   "image" = Imgfull
                 } />
    <cfset arrayAppend(data, obj) />
</cfoutput>

<cfprocessingdirective suppresswhitespace="Yes">
<cfoutput>
    #serializeJSON(data)#
</cfoutput>
</cfprocessingdirective>

<cfsetting enablecfoutputonly="No" showdebugoutput="No">

为清楚起见,这就是我要找的......

<cfset obj = {
                "thumb" = http://mydomain/ImgThumb,
                "image" = http://mydomain/Imgfull
    } />

指针非常赞赏!

1 个答案:

答案 0 :(得分:5)

您可以将内容附加到这样的变量:

<cfset newThumb = "http://mydomain/"&ImgThumb>
<cfset newImage = "http://mydomain/"&Imgfull>

希望这适合你。