2014-06-20 60 views
2

我想迭代JSON得到最後一個元素。我試圖找到JSON長度,但長度顯示296東西。有些東西我不知道如何迭代。迭代Json並得到最後的元素

迭代Json並得到最後的元素id: 005 and text: GHI。我正在試圖這樣做。

JQuery的

var json= (JSON.stringify($(target).select2('data'))); 
    alert(selections.length);  

    $.each($.parseJSON(json), function(key,value){ 
      var id = this.id; 
      var text = this.text; 
      console.log(id +" "+text); 
    }); 

JSON

[ 
     { 
     "id": "001", 
     "text": "DEF", 
     "element": [ 
      { 

      } 
     ], 
     "disabled": false, 
     "locked": false 
     }, 
     { 
     "id": "002", 
     "text": "JKL", 
     "element": [ 
      { 

      } 
     ], 
     "disabled": false, 
     "locked": false 
     }, 
     { 
     "id": "003", 
     "text": "MNO", 
     "element": [ 
      { 

      } 
     ], 
     "disabled": false, 
     "locked": false 
     }, 
     { 
     "id": "004", 
     "text": "ABC", 
     "element": [ 
      { 

      } 
     ], 
     "disabled": false, 
     "locked": false 
     }, 
     { 
     "id": "005", 
     "text": "GHI", 
     "element": [ 
      { 

      } 
     ], 
     "disabled": false, 
     "locked": false 
     } 
    ] 
+0

爲什麼要將其轉換爲JSON只能右轉並解析它? –

回答

2
  1. Store中的一個變量
  2. 利用varName.length-1 JSON到數組

Demo

var json = [{ 
    "id": "001", 
    "text": "DEF", 
    "element": [{ 

    }], 
    "disabled": false, 
    "locked": false 
}, { 
    "id": "002", 
    "text": "JKL", 
    "element": [{ 

    }], 
    "disabled": false, 
    "locked": false 
}, { 
    "id": "003", 
    "text": "MNO", 
    "element": [{ 

    }], 
    "disabled": false, 
    "locked": false 
}, { 
    "id": "004", 
    "text": "ABC", 
    "element": [{ 

    }], 
    "disabled": false, 
    "locked": false 
}, { 
    "id": "005", 
    "text": "GHI", 
    "element": [{ 

    }], 
    "disabled": false, 
    "locked": false 
}]; 

var $last = json[json.length - 1]; 
alert($last.id); 
alert($last.text); 
2

你正在處理一個Javascript數組。使用長度,以獲得最後一個索引確實會工作:

var json = JSON.stringify($(target).select2('data')); 
var lastObject = json[json.length - 1]; 

var id = lastObject.id; 
var text = lastObject.text; 

console.log(id + " " + text); 

記住,指數從0開始的,所以你必須從長度減去1以獲得所需的指數。

-1

var h = [ { "id": "001", "text": "DEF", "element": [ { } ], "disabled": false, "locked": false }, { "id": "002", "text": "JKL", "element": [ { } ], "disabled": false, "locked": false }, { "id": "003", "text": "MNO", "element": [ { } ], "disabled": false, "locked": false }, { "id": "004", "text": "ABC", "element": [ { } ], "disabled": false, "locked": false }, { "id": "005", "text": "GHI", "element": [ { } ], "disabled": false, "locked": false } ];

在到達最後一個元素