如何使用JavaScript UDF将Azure Stream Analytics中的“类似于字典”的结构转换为多维数组?

问题描述

使用Azure流分析的CollectTop聚合函数后,我得到了一个类似于json的结构,该结构似乎像是Dictionary of Dictionary。 我需要将其转换为多维数组,然后传递给AzureML UDF。

我的问题主要是关于如何在javascript-UDF中解释此结构,因为我对Java完全陌生。

这是一个示例记录(使用CollectTop),但是挑战在于我的JavaScript UDF应该是什么样子?

[
    {"rank":1,"value":{"engineid":"engine001","tmp":-0.0019,"hum":-0.0002,"eventtime":4}},{"rank":2,"tmp":-0.0026,"eventtime":2}},{"rank":3,"tmp":0.0003,"eventtime":1}}
]

根据以上数据结构,我很想生成以下数组。 (采用“ tmp和嗡嗡声”字段)

[[-0.0019,-0.0002],[-0.0026,[0.0003,-0.0002]]

欢迎任何帮助或见识。

这个问题与另外两个问题有关:

最诚挚的问候

解决方法

var input = [
        {"rank":1,"value":{"engineid":"engine001","tmp":-0.0019,"hum":-0.0002,"eventtime":4}},{"rank":2,"tmp":-0.0026,"eventtime":2}},{"rank":3,"tmp":0.0003,"eventtime":1}}
    ];
    
    console.log(getOutput(input));
    
    
    function getOutput(input){
        var output = [];
        for(var x in input){
            var array = [];
            array.push(input[x].value.tmp);
            array.push(input[x].value.hum);
            output.push(array);
        }
        return output;
    }

这是您需要的吗?