【问题标题】:How to Parse JSON Returned in ColdFusion如何解析 ColdFusion 中返回的 JSON
【发布时间】:2024-01-09 20:34:01
【问题描述】:

我确定这是一个相对简单的问题,但我似乎无法在网上任何地方找到简单的答案。

我有几行由 cfhttp POST 返回的 JSON 行,其中包含我想解析出来并显示在我的 ColdFusion 页面中的图像 URL:

{
    "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

【问题讨论】:

  • 你试过什么?我的意思不是讽刺,但是.. 对“如何解析 JSON ColdFusion”的五秒钟搜索应该会出现对 deserializeJSONfunction 的多个引用 :) 你试过了吗?请发布您的代码和任何错误消息。 (顺便说一句,如果您是 * 的新手,它的工作方式与论坛略有不同。请参阅常见问题解答:How to Ask)。

标签: json parsing url coldfusion coldfusion-6


【解决方案1】:

转换 JSON(JavaScript Object Notation)字符串数据 表示为 CFML 数据,例如 CFML 结构或数组。

https://wikidocs.adobe.com/wiki/display/coldfusionen/DeserializeJSON

【讨论】:

    【解决方案2】:

    只需使用 deserializeJSON() 解析您的 cfhttp 结果

    <cfset getResult = deserializeJSON(result_Variable.filecontent)>
    

    您可以使用“#getResult.href#”获取href值

    【讨论】:

    • OP 不需要使用来自 cfhttp 调用的 result_Variable.FileContent 吗?
    【解决方案3】:

    我忘了说我使用的是 ColdFusion MX

    啊,这有很大的不同! (除非标签中另有说明,否则大多数人会假设是更新的版本,例如 CF9+)。

    直到 CF8 才添加 JSON 支持。如果您搜索,仍然有一些较旧的 udf/cfc 用于处理 JSON。例如:

    • JSONDecodehttp://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 引擎。

    【讨论】:

      最近更新 更多