Recursively Search a Nested JSON Object

I recently ran into a situation where I wanted to be able to search a JSON object of indeterminate shape and size with arbitrary nested arrays of objects. I couldn't find anything that quite did what I wanted it to do after a quick Google search, so I wrote my own method for returning an array of results matched on the value of the criteria and property I specifed.

This is really handy method for traversing nested objects and arrays of objects with Javascript. Please note I am using UnderscoreJS to do my number/string value detection when comparing values, so either use Underscore or swap that code out.