我确信这是一个相对简单的问题,但我似乎无法在网上找到一个简单的答案。
我有一些由cfhttp POST返回的JSON行,其中包含一个我要解析的图像URL并显示在我的ColdFusion页面中:
{
"href": "http://server.arcgisonline.com/arcgis/rest/directories/arcgisoutput/ESRI_StreetMap_World_2D_MapServer/_ags_map734a6ad322dd493e84499d78f027d841.png",
"width": 854,
"height": 493,
"extent": {
"xmin": -8285407.015562119,
"ymin": 4944008.4197687358,
"xmax": -8220129.7934066672,
"ymax": 4981691.8747132765,
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}
},
"scale": 288895.27714399656
}
如何将“href”的值作为ColdFusion中变量的一部分,和/或可能有一个链接下载它的按钮?
编辑:我忘了提到我正在使用ColdFusion MX - 也称为版本6 - 因此我无法使用DeserializeJSON listed on Adobe's page答案 0 :(得分:4)
转换JSON(JavaScript Object Notation)字符串数据 表示CFML数据,例如CFML结构或数组。
https://wikidocs.adobe.com/wiki/display/coldfusionen/DeserializeJSON
答案 1 :(得分:2)
只需使用deserializeJSON()
解析cfhttp结果<cfset getResult = deserializeJSON(result_Variable.filecontent)>
您可以使用&#34;#getResult.href#&#34;
获取href值答案 2 :(得分:2)
啊,这会产生很大的不同! (除非标签中另有说明,否则大多数人会假设更新版本,如CF9 +)。我忘了提到我正在使用ColdFusion MX
直到CF8才添加JSON支持。如果你搜索,仍然有一些旧的udf / cfc用于处理JSON。例如:
JSONDecode http://www.cflib.org表示可与MX6配合使用
JSONUtil.cfc适用于MX7 +。 可能开箱即用的MX6,或者经过一些修改。 This thread描述了如何使用JSONUtil进行编码。解码应该同样简单。只需创建一个实例并调用deserializeJSON,即:
<!--- not tested --->
<cfset util = createObject("component", "path.to.JSONUtil")>
<cfset result = util.deSerializeJSON(yourJSONString)>
那就是说,ColdFusion MX的牙齿有点长no longer supported。您应该认真考虑升级或切换到开源Railo引擎。