Considering the structure of your data, it would make more sense to store the objects in an array, instead of nesting it inside an object like it is now.
That being said, you can use this function to find a string within the structure. It returns the object(s) which contains the string.
function findString(obj, str) {
str = str.toLowerCase();
var results = [];
for(var elm in obj) {
if(!obj.hasOwnProperty(elm)){
continue;
}
for (var key in obj[elm]) {
if (obj[elm].hasOwnProperty(key) && obj[elm][key].toString().toLowerCase().indexOf(str) > -1) {
results.push(obj[elm]);
}
}
}
return results.length > 1 ? results : results[0];
}