Coldfusion返回JSON数据

时间:2016-09-05 15:35:36

标签: arrays json coldfusion coldfusion-9

每个人都有劳动节快乐。

尝试从JSON文件返回可用数据。

这是我到目前为止所做的:

<cfhttp url="https://data.ny.gov/api/views/d6yy-54nr/rows.json?accessType=DOWNLOAD" method="get" result="httpResp" timeout="120">
<cfhttpparam type="header" name="Content-Type" value="application/json" />
</cfhttp>
<cfset pbdata=deserializeJSON(httpResp.filecontent)>
<cfdump var="#pbdata#">

返回此内容:

JSON OUTPUT

我怎样才能将第9列和第10列变为可用的东西。

我的最终目标是拥有一个日期下拉字段,它将返回该数据的中奖号码。

感谢您的时间。

<cfhttp url="https://data.ny.gov/api/views/d6yy-54nr/rows.json?accessType=DOWNLOAD" method="get" result="httpResp" timeout="120">
<cfhttpparam type="header" name="Content-Type" value="application/json" />
</cfhttp>
<cfset pbdata=deserializeJSON(httpResp.filecontent)>
<cfoutput>
<cfloop array="#pbdata#" index="i"> 
            <cfloop array="#i#" index="k"> 
               #i[k]#
            </cfloop>  
            <br/><br/>
 </cfloop>

        </cfoutput>

我试过这个循环通过数组但是我得到了错误&#34;类型类的对象coldfusion.runtime.Struct不能用作数组&#34;。

我真的很难学习CF中的数据处理,任何人都可以推荐好的教程。也在考虑获得在线导师。但它们似乎并不像ColdFusion那样普遍。任何建议将不胜感激。

3 个答案:

答案 0 :(得分:1)

改变这个:

@Override
public Observable<Page> search(@NonNull final String query) {
    Realm realm = mRealmManager.getRealm(); // UI thread only!
    final Page page = realm.where(Page.class).equalTo("query", query).findFirst();
    if(page != null) {
        Log.i("data from", "realm");
        return page.asObservable();
    } else {
        Log.i("data is", "empty");
        return Observable.empty();
    }
}

对此:

# returns the user id or nil, if not found
User.find_by(email: 'bob@builder.com').pluck(:id)

你可能会看到你在寻找什么。你必须深入到数组 - 它是一个数组的成员,它是一个看起来像“数据”的结构的一部分。你需要进行一些实验。 :)

答案 1 :(得分:0)

试试此代码

<cfhttp url="https://data.ny.gov/api/views/d6yy-54nr/rows.json?accessType=DOWNLOAD" method="get" result="httpResp" timeout="120">
    <cfhttpparam type="header" name="Content-Type" value="application/json" />
</cfhttp>
<cfset pbdata=deserializeJSON(httpResp.filecontent)>
<cfset winDate = pbdata.data[1][9]>
<cfset winnerList = pbdata.data[1][10]>
<cfoutput>
   Winner for the #winDate# are #winnerList#
</cfoutput>

答案 2 :(得分:0)

这是我最终提出的。希望它可以帮助像我这样的其他初学者。

<cfset pbdata=deserializeJSON(httpResp.filecontent)>
<cfoutput>

<cfloop from="1" to="#arrayLen(pbdata.data)#" index="i">


#i#: #pbdata.data[i][9]#  : #pbdata.data[i][10]#<br />
</cfloop>

</cfoutput>

JSON文件是一个数组的数组,它位于结构“data”中。所以你必须循环通过2d数组并拉出元素[9]和[10],它们是日期和中奖号码。

相关问题