BoxLang 1.14.0 adds JSONPath-style path expressions to the DataNavigator API. The update introduces a new `query()` method that returns all matches as an array, `getOrDefault()` for guaranteed non-null returns, and `getByKey()`/`hasByKey()` for literal key lookups where dots and brackets are part of the key name. The path expression syntax supports dot notation, array indexing, recursive descent (`..`), wildcards (`[*]`), slices (`[1:3]`), and filter expressions (`[?(@.active == true)]`). Practical examples cover API response processing, configuration introspection, and wildcard/slice extraction, showing how complex multi-level traversals that previously required loops or nested null checks can now be expressed in a single call.
Table of contents
A Quick Refresher: What is the DataNavigator?What Is New in 1.14.0The Path Expression SyntaxReal-World ScenariosChoosing the Right MethodPutting It All TogetherUpgrade and ExploreResources10.4K Impressions