Apache NiFi RecordPath Guide
Also available as:


In the Function Usage section above, we describe how and why to use a function in RecordPath. Here, we will describe the different functions that are available, what they do, and how they work. Functions can be divided into two groups: Standalone Functions, which can be the 'root' of a RecordPath, such as substringAfter( /name, '' ) and Filter Functions, which are to be used as a filter, such as /name[ contains('John') ]. A Standalone Function can also be used within a filter but does not return a boolean (true or false value) and therefore cannot itself be an entire filter. For example, we can use a path such as /name[ substringAfter(., '') = 'Doe'] but we cannot simply use /name[ substringAfter(., '') ] because doing so doesn't really make sense, as filters must be boolean values.

Unless otherwise noted, all of the examples below are written to operate on the following Record:

        "name": "John Doe",
        "workAddress": {
                "number": "123",
                "street": "5th Avenue",
                "city": "New York",
                "state": "NY",
                "zip": "10020"
        "homeAddress": {
                "number": "456",
                "street": "Grand St",
                "city": "Jersey City",
                "state": "NJ",
                "zip": "07304"
        "details": {
                "position": "Dataflow Engineer",
                "preferredState": "NY",
                "employer": "",
                "vehicle": null,
                "phrase": "   "