Coldfusion - 在SerializeJSon之前修改输出?

Lee*_*Lee 1 coldfusion json

首先,对问题中的措辞道歉 - 我无法想出更好的东西,对不起!

这是场景 - 我正在使用我无法控制的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">
Run Code Online (Sandbox Code Playgroud)

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

<cfset obj = {
                "thumb" = http://mydomain/ImgThumb,
                "image" = http://mydomain/Imgfull
    } />
Run Code Online (Sandbox Code Playgroud)

指针非常感谢!

Che*_*ter 5

您可以将事物附加到这样的变量:

<cfset newThumb = "http://mydomain/"&ImgThumb>
<cfset newImage = "http://mydomain/"&Imgfull>
Run Code Online (Sandbox Code Playgroud)

希望这对你有用.

  • 而且,确切地说,术语是"字符串连接"(而不是"将内容附加到变量"). (3认同)