我有一個JSON像這樣:得到一個關鍵的指標在JSON
json = { "key1" : "watevr1", "key2" : "watevr2", "key3" : "watevr3" }
現在,我想知道的一個關鍵的指標,以JSON說「KEY2」 - 這是1。是否有辦法?
我有一個JSON像這樣:得到一個關鍵的指標在JSON
json = { "key1" : "watevr1", "key2" : "watevr2", "key3" : "watevr3" }
現在,我想知道的一個關鍵的指標,以JSON說「KEY2」 - 這是1。是否有辦法?
爲時已晚,但它可能是簡單實用
var json = '{ "key1" : "watevr1", "key2" : "watevr2", "key3" : "watevr3" }';
var keytoFind = "key2";
var index = Object.keys(json).indexOf(keytoFind);
alert(index);
你有什麼是一個字符串表示一個JSON序列化的JavaScript對象。在能夠遍歷其屬性之前,您需要將其反序列化回JavaScript對象。否則,你將循環這個字符串的每個單獨的字符。
var resultJSON = '{ "key1" : "watevr1", "key2" : "watevr2", "key3" : "watevr3" }';
var result = $.parseJSON(resultJSON);
$.each(result, function(k, v) {
//display the key and value pair
alert(k + ' is ' + v);
});
或者乾脆:
arr.forEach(function (val, index, theArray) {
//do stuff
});
他從來沒有說過他的JSON是一個字符串?恰恰相反呢? – h2ooooooo 2013-03-05 08:16:42
原則,這是錯誤的到尋找一個關鍵的指標。散列圖的鍵是無序的,你不應該期待特定的順序。
你所追求的是經典數組工作方式下的數字索引,但是json對象/關聯數組沒有這樣的事情。
「key1」,「key2」自己是索引,沒有與它們相關的數字索引。如果你想擁有這樣的功能,你必須親自去慫恿他們。
試試這個
var json = '{ "key1" : "watevr1", "key2" : "watevr2", "key3" : "watevr3" }';
json = $.parseJSON(json);
var i = 0, req_index = "";
$.each(json, function(index, value){
if(index == 'key2'){
req_index = i;
}
i++;
});
alert(req_index);
這將需要jQuery庫。 – 2013-03-05 08:13:42
你並不需要一個數字索引的對象的關鍵,但許多人都告訴你的。
這裏的實際答案:
var json = { "key1" : "watevr1", "key2" : "watevr2", "key3" : "watevr3" };
console.log(getObjectKeyIndex(json, 'key2'));
// Returns int(1) (or null if the key doesn't exist)
function getObjectKeyIndex(obj, keyToFind) {
var i = 0, key;
for (key in obj) {
if (key == keyToFind) {
return i;
}
i++;
}
return null;
}
雖然你可能只是在尋找,我已經在這個函數中使用相同的循環,所以你可以通過對象:
for (var key in json) {
console.log(key + ' is ' + json[key]);
}
意志在輸出
key1 is watevr1
key2 is watevr2
key3 is watevr3
那麼,我沒有尋找循環來遍歷JSON。實際上,在我的一段代碼中,我通過迭代json來創建一個數組。在另一個代碼片段中,我有一個來自json的鍵,我有這個數組,我需要找到與這個鍵有關的數組元素。我知道我處於一個奇怪的位置,你可能會感到困惑,但我得到了我正在尋找的東西。那謝謝啦! – shreyj 2013-03-06 10:34:12
如果我想找到包含watevr2的KEY,該怎麼辦? – 2016-07-02 17:19:16
@TusharShukla它需要迭代通過它的值來查找關鍵字。請參閱此鏈接(http://stackoverflow.com/questions/9907419/javascript-object-get-key-by-value) – Gowsikan 2016-12-07 07:09:50
它是否穩定? – 2018-01-11 22:40:52