通过jQuery获取带有Value的JSONArray的JSONObject

时间:2011-08-18 05:53:41

标签: javascript jquery json

嗨,假设我有一个像这样的JSON:

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

是否有任何函数可以获取jsonobject的值为jsonobject? 我的意思是也许我知道id是111怎么能得到id = 111的jsonobject,我不想用循环得到它我的意思是只有用jQuery做它的函数?

2 个答案:

答案 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);
}