从json对象获取值而不计算数组编号

时间:2013-06-21 09:12:50

标签: javascript json

这是我的json对象,我希望在没有像[0],[1]这样的数组顺序的情况下得到警告。

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

    }

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

我想在没有[0]的情况下发出警报。如何实现这个目标

4 个答案:

答案 0 :(得分:1)

我认为这就是你要找的东西:

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

答案 1 :(得分: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]

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);

答案 3 :(得分: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
}