AttributesToJSON

Description:

Generates a JSON representation of the input FlowFile Attributes. The resulting JSON can be written to either a new Attribute 'JSONAttributes' or written to the FlowFile as content. Attributes which contain nested JSON objects can either be handled as JSON or as escaped JSON depending on the strategy chosen.

Tags:

json, attributes, flowfile

Properties:

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
Attributes ListAttributes ListComma separated list of attributes to be included in the resulting JSON. If this value is left empty then all existing Attributes will be included. This list of attributes is case sensitive. If an attribute specified in the list is not found it will be be emitted to the resulting JSON with an empty string or NULL value.
Attributes Regular Expressionattributes-to-json-regexRegular expression that will be evaluated against the flow file attributes to select the matching attributes. This property can be used in combination with the attributes list property.
Supports Expression Language: true (will be evaluated using variable registry only)
DestinationDestinationflowfile-attribute
  • flowfile-attribute
  • flowfile-content
Control if JSON value is written as a new flowfile attribute 'JSONAttributes' or written in the flowfile content. Writing to flowfile content will overwrite any existing flowfile content.
Include Core AttributesInclude Core Attributestrue
  • true
  • false
Determines if the FlowFile org.apache.nifi.flowfile.attributes.CoreAttributes which are contained in every FlowFile should be included in the final JSON value generated.
Null ValueNull Valuefalse
  • true
  • false
If true a non existing selected attribute will be NULL in the resulting JSON. If false an empty string will be placed in the JSON
JSON Handling StrategyJSON Handling StrategyEscaped
  • Escaped Escapes JSON attribute values to strings
  • Nested Handles JSON attribute values as nested structured objects or arrays
Strategy to use for handling attributes which contain nested JSON.
Pretty PrintPretty Printfalse
  • true
  • false
Apply pretty print formatting to the output.

This Property is only considered if the [Destination] Property has a value of "flowfile-content".

Relationships:

NameDescription
successSuccessfully converted attributes to JSON
failureFailed to convert attributes to JSON

Reads Attributes:

None specified.

Writes Attributes:

NameDescription
JSONAttributesJSON representation of Attributes

State management:

This component does not store state.

Restricted:

This component is not restricted.

Input requirement:

This component requires an incoming relationship.

System Resource Considerations:

None specified.