从struct中的struct中提取JSON数据

问题描述 投票:1回答:1

查看deserializeJSON(查询)的输出。

enter image description here

对于每一行,我如何只提取id和DTIME?以下是我的代码:

 <cfscript>
  record=deserializeJSON(query_testing.data_test);

  writeDump(record);

</cfscript>

以下是“query_testing.data_test”中的示例数据:

 '{"id3":
        {"DECISION":1,
        "DTIME":"2013-10-18 16:17:28"},
   "id5":
        {"DECISION":1,
        "DTIME":"2013-10-09 15:43:35",}
  }'
json struct coldfusion cfml
1个回答
3
投票
<cfscript>

    record = deserializeJSON(query_testing.data_test);

    rows = [];
    for (id in record) {

        rows.add({
            id:    reReplace(id, "^id", ""),
            dtime: record[id].DTIME
        });
    }
    writeDump(rows);

</cfscript>

这是标记变体和请求的用法示例:

<cfset record = deserializeJSON(query_testing.data_test)>

<cfset rows = []>
<cfloop collection="#record#" item="id">

    <cfset rows.add({
        id:    reReplace(id, "^id", ""),
        dtime: record[id].DTIME
    })>
</cfloop>
<cfdump var="#rows#">

<!--- print as table --->
<cfoutput>
    <table>
        <tr>
            <th>id</th>
            <th>dtime</th>
        </tr>
        <cfloop array="#rows#" index="row">
            <tr>
                <td>#encodeForHtml(row.id)#</td>
                <td>#dateTimeFormat(row.dtime, "yyyy-mm-dd, HH:nn:ss")#</td>
            </tr>
        </cfloop>
    </table>
</cfoutput>
© www.soinside.com 2019 - 2024. All rights reserved.