繁体   English   中英

使用Javascript更改JSON格式

[英]Change format of JSON using Javascript

好的,所以在我的代码中,我抓取了一个如下所示的JSON Blob:

[
    {
        "ts": 1431736740,
        "aggs": {
            "DNS": {
                "min": 20,
                "max": 21,
            },
            "SEND": {
                "min": 102,
                "max": 8114,
            },
            "SSL": {
                "min": 110,
                "max": 7806,
            },
            "SERVERBUSY": {
                "min": 1360,
                "max": 13709,
            }
        }
    },
    {
        "ts": 1431736680,
        "aggs": {
            "DNS": {
                "min": 22,
                "max": 24,
            },
            "SEND": {
                "min": 210,
                "max": 8251,
            },
            "SSL": {
                "min": 117,
                "max": 12488,
            },
            "SERVERBUSY": {
                "mn": 6462,
                "max": 9800,
            }
        }
    },
    {
        "ts": 1431736620,
        "aggs": {
            "DNS": {
                "min": 21,
                "max": 22,
            },
            "SEND": {
                "min": 92,
                "max": 12035,
            },
            "SSL": {
                "min": 111,
                "max": 9758,
            },
            "SERVERBUSY": {
                "min": 9855,
                "max": 14112,
            }
        }
    }
]

我需要帮助将其转换为如下形式:

[
    {
        "key": "DNS",
        "values": [
            [
                0,   //The first number just goes up by one.
                20   //The second number is the value of aggs.DNS.min
            ],
            [
                1,
                22
            ],
            [
                2,
                21
            ]
        ]
    },
    {
        "key": "SEND",
        "values": [
            [
                0,
                102
            ],
            [
                1,
                210
            ],
            [
                2,
                92
            ]
        ]
    },
    {
        "key": "SSL",
        "values": [
            [
                0,
                110
            ],
            [
                1,
                117
            ],
            [
                2,
                111
            ]
        ]
    },
    {
        "key": "SERVERBUSY",
        "values": [
            [
                0,
                1360
            ],
            [
                1,
                6462
            ],
            [
                2,
                9855
            ]
        ]
    }
]

因为我使用的库仅使用正确格式的JSON。 这可能吗? 我发现了几个不同的问题,可以显示您可以更改JSON格式,但是我不确定是否可以做到这一点。 任何帮助深表感谢!!!

好吧,我想发布我发现的内容,以防它对其他人有帮助:

var pagestatsObject = {};

var dnsValues = [];
for(var i=0; i<bardata.length; i++){
    var dnsItem = bardata[i].aggs.dns.avg;
    dnsValues.push([i, dnsItem]);
}


var connectValues = [];
for(var i=0; i<bardata.length; i++){
    var connectItem = bardata[i].aggs.con.avg;
    connectValues.push([i, connectItem]);
}


var SSLValues = [];
for(var i=0; i<bardata.length; i++){
    var SSLItem = bardata[i].aggs.ssl.avg;
    SSLValues.push([i, SSLItem]);
}


var sendValues = [];
for(var i=0; i<bardata.length; i++){
    var sendItem = bardata[i].aggs.snd.avg;
    sendValues.push([i, sendItem]);
}


var serverBusyValues = [];
for(var i=0; i<bardata.length; i++){
    var serverBusyItem = bardata[i].aggs.srvbsy.avg;
    serverBusyValues.push([i, serverBusyItem]);
}


var receiveValues = [];
for(var i=0; i<bardata.length; i++){
    var receiveItem = bardata[i].aggs.rcv.avg;
    receiveValues.push([i, receiveItem]);
}


pagestatsObject = [ 
    {"key" : "DNS", "values" : dnsValues}, 
    {"key" : "Connect", "values" : connectValues},
    {"key" : "SSL", "values" : SSLValues},
    {"key" : "Send", "values" : sendValues},
    {"key" : "Server Busy", "values" : serverBusyValues},
    {"key" : "Receive", "values" : receiveValues}
];

它不是最漂亮的解决方案,但可以满足我的需求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM