Find specific key value in array of objects

This is the code:

var groups = {
    "JSON":{
        "ARRAY":[
            {"id":"fq432v45","name":"Don't use me."},

            {"id":"qb45657s","name":"Use me."}
        ]
    }
}

I want to get the name value where the id is "qb45657s" how could this be accomplished? I figured the obvious loop through all of the array and check if it's equal but is there an easier way?

Edit: I cannot change "Array" to an object because I need to know the length of it for a different function.

You can simply filter on the given id:

groups["JSON"]["ARRAY"].filter(function(v){ return v["id"] == "qb45657s"; });

This will return [{"id":"qb45657s","name":"Use me."}]

Assuming you had a valid JSON string like this (note I say valid, because you need an enclosing {} or [] to make it valid):

var json = '{"JSON":{
        "ARRAY":[
            {"id":"fq432v45","name":"Don't use me."},
            {"id":"qb45657s","name":"Use me."}
        ]
    }
}';

You would just parse it into an actual object like this:

var jsonObj = JSON.parse(json); // makes string in actual object you can work with
var jsonArray = jsonObj.JSON.ARRAY; // gets array you are interested in

And then search for it like:

var needle = 'qb45657s';
var needleName;
for (var i = 0; i < jsonArray.length; i++) {
    if (jsonArray[i].id === needle) {
        needleName = jsonArray[i].name;
    }
}