我如何计算我的请求的对象?
我正在使用ajax并向此url 04:15 - 05:00
请求json数据,我想计算响应的对象。
这是我的代码
pbxApi+"/conference/participants/"+circle+"/"+data.conference+"/"+data.uniqueid+'?jsonp=response';
这是我的功能:
var uri = pbxApi+"/conference/participants/"+circle+"/"+data.conference+"/"+data.uniqueid+'?jsonp=response';
getJsonData(uri, function(res){
console.log(res.length);
});
这是我的回复
var getJsonData = function(uri,callback){
$.ajax({
type: "GET",
dataType: "jsonp",
url: uri,
jsonpCallback: 'response',
cache: false,
contentType: "application/json",
success: function(json){
callback(json);
}
});
}
谢谢:)
答案 0 :(得分:1)
你可以试试这个:
Object.keys(jsonArray).length;
获取JSON对象中的项目数。
另请参阅Object.keys
Object.keys()返回一个元素为字符串的数组 对应于直接在对象上找到的可枚举属性。 属性的顺序与循环给出的顺序相同 手动对象的属性。
答案 1 :(得分:0)
你可以
success: function(json){
console.log('Object keys length: ' + Object.keys(json).length)
callback(json);
}
例如{a:1, b:2, c:'Batman'}
将3
作为答案
答案 2 :(得分:0)
一种解决方案
var uri = pbxApi+"/conference/participants/"+circle+"/"+data.conference+"/"+data.uniqueid+'?jsonp=response';
var getJsonData = function(uri,callback){
return $.ajax({ // <----- note the return !
type: "GET",
dataType: "jsonp",
url: uri,
jsonpCallback: 'response',
cache: false,
contentType: "application/json",
success: function(json){
if(callback) callback(json);
}
});
}
getJsonData(uri, function(res){
console.log( Objec.keys(res).length) );
});
// with the return you will be able to do :
getJsonData(uri)
.done( function(res){
console.log( Objec.keys(res).length) );
})
.error(function( err ){
console.log('an error ?? what is it possible ?');
});