json - 使用 Coldfusion 解析 JSON 数据

标签 json coldfusion

我正在使用 Gaug.es API 来跟踪一些简单的统计数据,并且我正在尝试将这些数据合并到我的后端中。 API 以 JSON 格式返回数据,尽管我尽了最大努力,但我似乎总是在这种格式上遇到困难。事实上,几年前我在这里问了一个与 JSON 相关的问题,这个问题的答案已经构成了这个问题的起点 - 但我那老旧的、生锈的大脑似乎无法理解这个问题!

这是我到目前为止所拥有的;

<cfhttp url="https://secure.gaug.es/gauges" method="GET" resolveurl="YES">
<cfhttpparam type="header" name="X-Gauges-Token" value="myAPIKey">
</cfhttp>

<cfset gaugeResult = deserializeJSON(cfhttp.filecontent)>

<cfdump var="#gaugeResult#">

<cfset formattedData = [] />
<cfset tmp = {} />

<cfloop collection=#gaugeResult# item="gauges">
<cfset tmp.title = gaugeResult[title] />
<cfset tmp.todayviews = gaugeResult[today]["views"] />
<cfset arrayAppend(formattedData,duplicate(tmp)) />
</cfloop>

<cfdump var=#formattedData# />

随附了 gaugeResult cfdump 的屏幕截图。

enter image description here

基本上,我需要做的是获取 id、标题、today>views 和 Today>people 数据,然后将其添加到数据库中。

当前查询返回错误“变量标题未定义” - 我在这方面的有限理解让我有些困惑!

最佳答案

如果我理解这个问题,那么类似这样的事情应该可以解决问题。您想要的数据位于数组中,因此只需循环该数组即可。

<cfset formattedData = []>
<cfloop array="#gaugeResult.gauges#" index="it">
   <cfset arrayAppend(formattedData, {
       id = it.id,
       title = it.title,
       todayViews = it.today.views,
       todayPeople = it.today.people
   })>
</cfloop>
<cfdump var="#formattedData#">

关于json - 使用 Coldfusion 解析 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32226687/

相关文章:

xml - Log4j 2 配置 : XML vs JSON?

coldfusion - 如何在 cfscript 中创建和使用类/对象?

css - 需要 cfDocument 生成的 PDF 中的薄表格边框

sql - 选择 * 不返回所有列 - Coldfusion/SQL Server 2008

asp.net - 将字符串转换为字节数组的正确编码是什么

javascript - 使用 onkeyup 处理程序进行 json 查询

json - 如何使用 KnockoutJS 删除不需要的 JSON 节点

Javascript:如何在不知道键名的情况下解析 json 数组?

javascript - 如何从 JSON 对象中触发函数

javascript - 当在 Coldfusion 中通过 AJAX 传递时,表单提交在 IE 浏览器中给出空表单