如何查找JSON对象的长度

时间:2016-11-16 06:05:52

标签: javascript json

 var legend=[{"min":0,
            "max":first_color,
            "color":"#1a9850"
  },
  {
      "min":first_color,
      "max":sec_color,
      "color":"#fee08b"
  },
  {
      "min":sec_color,
      "max":thrd_color,
      "color":"#ff3300"
  },
  {
      "min":thrd_color,
      "max":frth_color,
      "color":"#d73027"
      "Abc":"gsfg"
  }

  ];

我想知道每个对象的属性数。例如。前3个对象有3个属性,第4个有4个道具等。

3 个答案:

答案 0 :(得分:5)

遍历数组并获取对象属性名称。



var legend = [{
  "min": 0,
  "max": 'first_color',
  "color": "#1a9850"
}, {
  "min": 'first_color',
  "max": 'sec_color',
  "color": "#fee08b"
}, {
  "min": 'sec_color',
  "max": 'thrd_color',
  "color": "#ff3300"
}, {
  "min": 'thrd_color',
  "max": 'frth_color',
  "color": "#d73027",
  "Abc": "gsfg"
}];

var res = legend.map(function(v) {
  console.log(Object.keys(v).length);
  return Object.keys(v).length;
});

console.log(res);




答案 1 :(得分:3)

  • ' JSON'对象是错误的术语。
  • 参考' Length of a JavaScript object',最佳解决方案是:

    Object.keys(obj).length

但更好的解决方案是原型Object

Object.size = function(obj) {
   return Object.keys(obj).length;
}

答案 2 :(得分:1)

你可以使用Object.keys

 console.log(Object.keys(legend[0]).length)// 3

 console.log(Object.keys(legend[3]).length);//4