使用jQuery获取JSONArray的JSONObject



我假设我有这样一个JSON:

var myJson = [{"id":"111","name":"aaa","surname":"bbb"},
     {"id":"222","name":"ccc","surname":"ddd"}]

是否有任何函数获得jsonobject与jsonobject的值之一?我的意思是,也许我知道id是111如何获取id=111的jsonobject,我不想用循环来获取我的意思是,有没有函数可以用jQuery来实现?

将Json数组更改为如下

var myJson = { "idarray":["111","222"],
"dataarray":{ "111":{"name":"aaa","surname":"bbb"},"222":{"name":"ccc","surname":"ddd"}}
};

现在你可以像下面这样访问它:

myJson.dataarray [myJson.idarray [0]] . name // ==> " aaa"

或直接

myJson.dataarray[111].name//==> "aaa"

您有一个包含两个对象的数组。要查找哪个数组元素(如果有的话)具有id=="111"的对象,您必须搜索数组并查看每个对象,以查找其中包含所需对象的数组

当使用普通数组时,没有什么神奇的方法可以在不遍历数组的情况下找到其中的内容。如果键是唯一的,并且顺序不重要,则可以使用对象而不是数组直接索引给定对象,而不需要搜索它。但是给定数据结构,你或某些代码段必须循环遍历数组。

function findId(target, array) {
    for (var i = 0; i < array.length; i++) {
        if (array[i].id == target) {
            return(i);
        }
    }
    return(-1);
}

最新更新