SerializeJSON我对CFQUERY 的输出感到困惑。下面的代码:
<cfsetting showdebugoutput="yes">
<cfheader name="Content-Type" value="application/json">
<cftry>
<cfquery name="GetData" datasource="dsn">
with cte as (
select distinct ZipCode from db.dbo.table1 where ZipCode in (#URL.Zip#)
)
SELECT
cte.ZipCode
, '##' + CONVERT(VARCHAR(max), CRYPT_GEN_RANDOM(3), 2) as Color
from cte
</cfquery>
<cfoutput>
#SerializeJSON(GetData)#
</cfoutput>
<cfcatch type="any">
Error: <cfoutput>#cfcatch.message#</cfoutput>
</cfcatch>
</cftry>
Run Code Online (Sandbox Code Playgroud)
创建此输出:
{"COLUMNS":["ZIPCODE","COLOR"],"DATA":[["54814","#3269B7"],["60050","#DC3E08"]]}
Run Code Online (Sandbox Code Playgroud)
当#URL.ZIP#变量 =60050,54814
我需要该DATA组件将 JSON 格式化为邮政编码作为键,颜色代码作为数据值。
我怎么知道SerializeJSON我需要这样呢?
谢谢
你可以queryFormat将第二个参数()SerializeJSON(data[, queryFormat[, useSecureJSONPrefix[, useCustomSerializer]]])
serializeJSON(GetData, 'STRUCT')
Run Code Online (Sandbox Code Playgroud)
结果看起来像这样。
[{"邮政编码": "54814","颜色": "#3269B7"}, {"邮政编码": "60050","颜色": "#DC3E08"}]