从JSON中选择值 [英] putting selected values from the JSON

查看:426
本文介绍了从JSON中选择值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果我对查询执行以下操作:

If I do the following on a query :

<cfdump var="#serializeJSON(findglobal)#">

我得到以下结果:

{
    "COLUMNS": [
        "DELIVERED_PERCENTAGE",
        "UNIQUE_PERCENTAGE",
        "SPAM_PERCENTAGE",
        "DROP_PERCENTAGE",
        "REQUEST_PERCENTAGE",
        "BOUNCE_PERCENTAGE",
        "DEFERRED_PERCENTAGE",
        "PROCESSED_PERCENTAGE",
        "OPEN_PERCENTAGE",
        "BLOCKED_PERCENTAGE"
    ],
    "DATA": [
        [
            19.54,
            6.06,
            6.05,
            0.63,
            21.17,
            0.85,
            14.83,
            20.53,
            10.26,
            0.19
        ]
    ]
}

但我使用 Geikoboard ,它只能理解JSON的以下格式。
所以我想为下面的标签字段和所有的值, DELIVERED_PERCENTAGE UNIQUE_PERCENTAGE
19.54,6.06等为下面的值字段。

But I am using Geikoboard which understand only the following format of JSON. So I would like to have DELIVERED_PERCENTAGE, UNIQUE_PERCENTAGE for the label field below and all the values, like 19.54,6.06 etc for the value field below.

{ 
"item": [ 
{ 
"value": "11234", 
"label": "Webmail", 
"colour": "FFFF10AA" 
}, 
{ 
"value": "10736", 
"label": "Phone", 
"colour": "FFAA0AAA" 
}, 
{ 
"value": "230", 
"label": "Webmail", 
"colour": "FF5505AA" 
}, 
{ 
"value": "280", 
"label": "Webmail", 
"colour": "FF0000AA" 
} 
] 
}


b $ b

我必须手动生成JSON吗?

Do I have to manually generate JSON ?

推荐答案

我认为这是你正在寻找的。从某些网站得到它; Raymon Camden的或Ben Nadel的。

I think this is what you are looking for. Got it from some site; either Raymon Camden's or Ben Nadel's.

    public array function queryToArray( required query qry ) {
    var columns = arguments.qry.getColumnNames();
    var OutputResult = [];

    for( var i = 1; i LTE qry.recordCount; i++ ) {
        var obj = {};

        for( var k = 1; k LTE arrayLen( columns ); k++ ) {
            structInsert( obj, columns[ k ], arguments.qry[ columns[ k ] ][ i ] );
        }

        arrayAppend(OutputResult, obj );
    }

    return OutputResult;
}

您需要这样做:

<cfset myJSON = queryToArray( myquery ) />
<cfoutput>#serializeJSON( myJSON )#</cfoutput>

这篇关于从JSON中选择值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆