嗨,假设我有一个像这样的JSON:
var myJson = [{"id":"111","name":"aaa","surname":"bbb"},
{"id":"222","name":"ccc","surname":"ddd"}]
是否有任何函数可以获取jsonobject的值为jsonobject? 我的意思是也许我知道id是111怎么能得到id = 111的jsonobject,我不想用循环得到它我的意思是只有用jQuery做它的函数?
答案 0 :(得分:3)
按以下方式更改您的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”
答案 1 :(得分:1)
你有一个包含两个对象的数组。要查找具有id ==“111”的对象的数组元素(如果有),您必须搜索数组并查看每个对象以查找哪个对象具有所需的对象。
当使用普通数组时,没有神奇的方法可以在不循环数组的情况下在其中查找内容。如果键是唯一的并且顺序不重要,则可以使用对象而不是数组直接索引到给定对象而不搜索它。但鉴于数据结构,您或某些代码必须循环遍历数组。
function findId(target, array) {
for (var i = 0; i < array.length; i++) {
if (array[i].id == target) {
return(i);
}
}
return(-1);
}