我想知道我的JSON對象中有多少項。我看到很多答案,但他們都處理一個共同的價值來循環。我想要結果告訴我,此對象中有2個項目。任何幫助將是偉大的!獲取JSON對象中數組的長度
[{"manager_first_name":"jim","manager_last_name":"gaffigan"}]
我想知道我的JSON對象中有多少項。我看到很多答案,但他們都處理一個共同的價值來循環。我想要結果告訴我,此對象中有2個項目。任何幫助將是偉大的!獲取JSON對象中數組的長度
[{"manager_first_name":"jim","manager_last_name":"gaffigan"}]
您可以在較新的瀏覽器中使用Object.keys。它會返回對象中的所有鍵的數組,數組將有一個length屬性,將告訴你有多少項目存在的對象:
var arr = [{"manager_first_name":"jim","manager_last_name":"gaffigan"}];
var length = Object.keys(arr[0]).length;
在非支持瀏覽器,你要遍歷
var arr = [{"manager_first_name":"jim","manager_last_name":"gaffigan"}];
var i = 0;
for (var key in arr[0]) i++;
你可以這樣做:
var arr = [{"manager_first_name":"jim","manager_last_name":"gaffigan"}],
length = 0,
obj = arr[0]; // Get first obj from array
for(var k in obj){
if(obj.hasOwnProperty(k)) {
length++;
}
}
console.log(length); // Shows 2
您應該使用hasOwnProperty
,因爲您還可以使用函數擴展Object,否則也可能會出現count als鍵。
鏈接:
如果您知道對象的原型鏈具有需要避免的可枚舉屬性,則只應使用'.hasOwnProperty'。而且沒有理由不提前知道這一點。 –
嘗試
var jsonArr = [{"manager_first_name":"jim","manager_last_name":"gaffigan"}];
var itemCount = JSON.stringify(jsonArr).split('":"').length - 1;
這,當然,這樣做的一個相當粗(和不可靠)的方式,但如果你只是想項目數量,這應該像一個魅力。
除非在鍵或值中碰巧有':'字符。 –
恩,是的,我確實說過粗俗。此外,棘手的氣質的事情,魅力 – tewathia
但這不僅僅是粗糙。這是不可靠的。如果這樣的人物找到了方向,就不會有任何警告。結果將會不準確。 –
在IE上這隻適用於IE> = 9 – Keeper
謝謝,這就是我一直在尋找的東西。簡單而乾淨。 –