In your case, it sounds like you’re testing for a JSON-Path and not a plain property name. If you’re only testing for a property directly in the object (e.g. $name) and not a descendant (e.g. $foo.bar), you can just remove the dollar sign. If you are drilling down into sub-objects, then you’d need to check for each intermediate object using hasOwnProperty, the ‘in’ operator, or the ‘get()’ method. In the near future, we’ll add support for specifying a default value in the jsonPath() function to make this case easier.