从封装的json中获取值

get value out of encapsulated json

本文关键字:获取 json 封装      更新时间:2023-09-26

我有以下JSON文件:

[
{
    "AVG_VALUE" : "2540", 
    "MAX_VALUE" : "2540",
    "SUM_VALUE" : "2540",
    "MIN_VALUE" : "2540",
    "METRICID" : "100248060212",
    "START" : "1449216120000",
    "STARTTIME" : "09:02"
}
,
{
    "AVG_VALUE" : "2624", 
    "MAX_VALUE" : "2708",
    "SUM_VALUE" : "5248",
    "MIN_VALUE" : "2540",
    "METRICID" : "100248060219",
    "START" : "1449216120000",
    "STARTTIME" : "09:02"
}
]

但我不知道如何从中获得价值?我正在使用dojo工具包,并使用以下代码生成我的文件:

var stream = dojo.xhrGet({
            url : self.jsonFile,
            content : {
                startTime : 1449136661084,
                endTime :   1449482261084,
                interValMillis : (interval * 1000),
                metricid : 100248060219
            },
            handleAs : "json",
            sync : true,
            load : function(response, ioArgs) {
                self.data = response;
                self._metricIds = _metricIds;
                self._params = _params;
                self.convertData(self);
                console.log("ok:"+response);
                data = response;
            }
        });

所以最后,所有的值都在我的响应变量中……但我该如何处理它,以获得第一个AVG_VALUE?

JSON数据存储在对象数组中,因此您需要循环遍历它们以获取其中包含的值。。

for (var i = 0; i < response.length; i++) {
var jsonData = response[i];
jsonData['AVG_VALUE'] 
}

以上将返回与变量AVG_VALUE对应的所有值-或者,如果您只想要第一个值,则可以使用:

 var jsonData = response;
jsonData[0]['AVG_VALUE']

Response是一个对象数组。你可以像response[0]['AVG_VALUE']response[0].AVG_VALUE那样称呼它。