Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Coldfusion解析JSON数据_Json_Coldfusion - Fatal编程技术网

使用Coldfusion解析JSON数据

使用Coldfusion解析JSON数据,json,coldfusion,Json,Coldfusion,我正在使用gauge.esapi跟踪一些简单的统计数据,并试图将这些数据合并到我的后端。API以JSON格式返回数据,尽管我尽了最大的努力,但我似乎总是很难处理这种格式。事实上,几年前,我在这里问了一个与JSON相关的问题,这个问题的答案构成了这个问题的出发点——但我那陈旧、生锈的大脑似乎无法理解这个问题 这是我到目前为止所拥有的 <cfhttp url="https://secure.gaug.es/gauges" method="GET" resolveurl="YES"> &l

我正在使用gauge.esapi跟踪一些简单的统计数据,并试图将这些数据合并到我的后端。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# />

附上GaugerResult cfdump的屏幕截图

基本上,我需要做的是获取id、标题、今日>视图和今日>人物,然后将其添加到数据库中


当前查询返回一个错误“Variable TITLE is undefined”-我在这方面的有限理解让我有些困惑

如果我理解了这个问题,那么像这样的事情应该会奏效。您需要的数据在一个数组中,因此只需在数组上循环即可

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


标题存在于数组中,因此您需要在数组上循环。例如,要获得第一个标题,它可能是gaugeResult.gauges[1]。title@JedihomerTownend谢谢,你的确是对的。修订我的守则,使之符合本条例;它会正确返回。但是,它只返回第一个“结果”(可能是因为[1]。如果删除[1],它将再次抛出错误。如何让它返回所有结果,而不必单独引用行(数字会有所不同)