迭代Json并获得最后的元素

时间:2014-06-20 17:42:58

标签: javascript jquery json

我想迭代json来获取最后一个元素。我试图找到json长度,但长度显示296个东西。有些东西我不知道..要迭代。

迭代 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
      }
    ]

3 个答案:

答案 0 :(得分:2)

您正在处理Javascript数组。使用length来获取最后一个索引确实有效:

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 :(得分:2)

  1. 将您的JSON存储在变量
  2. 利用varName.length-1到达数组中的最后一个元素
  3. 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 :(得分:-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 } ];

var len = h.length;
console.log(len);               //prints 5
console.log(h[len-1].id);       //prints 005
console.log(h[len-1].text);     //prints GHI