在不使用for in的情况下如何获取json长度?

    var json = {a:1,b:2,c:3,d:4};
    Object.keys(json).length    // 4

原理分析

Object.keys():返回一个对象所有可以枚举的属性名组成的数组,并且顺序排列
eg:

var a = {4:'a',1:'w',5:'sa',3:'ss'};
Object.keys(a);     // [1,3,4,5]

所以最后Object.keys().length其实是把json的属性名组成一个数组,然后获取数组的长度。

文章纯属个人见解!