从封装中获取价值 json

get value out of encapsulated json

我有以下 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?

响应是一个对象数组。您可以像 response[0]['AVG_VALUE'] 或像 response[0].AVG_VALUE.

那样称呼它

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

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

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

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