2013-06-21 79 views
0

這是我的json對象,我希望在沒有像[0],[1]這樣的數組順序的情況下獲得警報。從json對象中獲取數值而不計數數組

var jsononj = { 
    "objnew" : 
    [{testarry: "thi is my demo text" }, 
{testarry2: "thi is my demo text2" } 
] }; 

    } 

var newtest = jsononj.objnew[0].testarry; 
    alert(newtest); 

我想警告沒有[0]。怎麼我實現這個

+2

什麼困擾你用'[0]'?你有一個包含2個元素的數組,你想顯示第一個元素的一些信息。你如何期待在沒有告訴系統你想要* first *元素的情況下發生?但是,Javascript並不足夠聰明,無法讀懂你的思想。 –

+0

這些訂單可以隨時重新排列,但「鑰匙」將保持不變,原因 – supersaiyan

+0

你在哪裏看到*鑰匙*?在你顯示的例子中,我只能看到一條消息。你會發現,當你沒有告訴我們所有的事情,並顯示你真實的代碼和真正的問題時,會發生這種情況。 –

回答

1

我認爲這是你在找什麼:

var i; 
for (i = 0; i < jsonobj.objnew.length; i++) { 
    if (jsonobj.objnew[i].testarry) { 
     alert(jsonobj.objnew[i].testarry); 
    } 
} 
+1

var i是需要的嗎?我不明白這一點。你在哪裏使用該指數? – Edorka

+0

糟糕,犯了一個錯誤。忘了'[我]'。 – elslooo

0

var firstOne = jsononj.objnew[0];

,但如果你根本不喜歡[0]通過你的線條,擴展Array原型

Array.prototype.first = function() { 
    return this[0]; 
}; 
var newtest = jsononj.objnew.first().testarry; 
alert(newtest); 

更多信息以First element in array - jQuery

+2

你在作弊,你仍然使用'[0]'。 –

+0

我又增加了一個選項 – Edorka

+0

@DarinDimitrov lol – andlrc

0

這是愚蠢的,但我刪除了[0]

var jsononj = { 
    "objnew" : [ 
     {testarry: "thi is my demo text" }, 
     {testarry2: "thi is my demo text2" } 
    ] 
}; 

var a = jsononj.objnew.shift(); 
alert(a.testarry); 
jsononj.objnew.unshift(a); 
+0

哈哈哈我需要一些更好的方法:-) – supersaiyan

0

這不是JSON,這是一個Javascript對象。 JSON是用於表示數據的文本格式。

如果你想通過數組中的對象找對象具有特定屬性,循環,檢查它:

var newtest = null; 
for (var i = 0; i < jsononj.objnew.length; i++) { 
    var obj = jsononj.objnew[i]; 
    if (obj.hasOwnProperty('testarry') { 
    newtest = obj.testarry; 
    break; 
    } 
} 
if (newtest != null) { 
    // found one 
}