[ https://issues.apache.org/jira/browse/NIFI-360?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Payne updated NIFI-360: ---------------------------- Fix Version/s: 0.0.2 > Create Processors to work against JSON data > ------------------------------------------- > > Key: NIFI-360 > URL: https://issues.apache.org/jira/browse/NIFI-360 > Project: Apache NiFi > Issue Type: New Feature > Components: Extensions > Reporter: Aldrin Piri > Assignee: Aldrin Piri > Priority: Minor > Labels: processor > Fix For: 0.0.2 > > > I have created two Processors, EvaluateJsonPath and SplitJson which are > analogs of the functionality provided through EvaluateXPath and SpiltXML. > Both are powered primarily around the usage of [JsonPath by > Jayway|https://github.com/jayway/JsonPath]. > Their capability descriptions are provided below: > {panel:title= EvaluateJsonPath} > Evaluates one or more JsonPath expressions against the content of a FlowFile. > The results of those expressions are assigned to FlowFile Attributes or are > written to the content of the FlowFile itself, depending on configuration of > the Processor. JsonPaths are entered by adding user-defined properties; the > name of the property maps to the Attribute Name into which the result will be > placed (if the Destination is flowfile-attribute; otherwise, the property > name is ignored). > The value of the property must be a valid JsonPath expression. If the > JsonPath evaluates to a JSON array or JSON object and the Return Type is set > to 'scalar' the FlowFile will be unmodified and will be routed to failure. A > Return Type of JSON can return scalar values if the provided JsonPath > evaluates to the specified value and will be routed as a match. If > Destination is 'flowfile-content' and the JsonPath does not evaluate to a > defined path, the FlowFile will be routed to 'unmatched' without having its > contents modified. If Destination is flowfile-attribute and the expression > matches nothing, attributes will be created with empty strings as the value, > and the FlowFile will always be routed to 'matched.' > {panel} > {panel:title=SplitJson} > Splits a JSON File into multiple, separate FlowFiles for an array element > specified by a JsonPath expression. Each generated FlowFile is comprised of > an element of the specified array and transferred to relationship 'split, > with the original file transferred to the 'original' relationship. If the > specified JsonPath is not found or does not evaluate to an array element, > the original file is routed to 'failure' and no files are generated. > {panel} > One item of note is the transitive dependency of ASM through Json-Smart > through JsonPath. > I have included, what I believe is needed to appropriately make use of this > item in the LICENSE. Review of its correctness would is requested. > Any feedback is appreciated. Thanks! -- This message was sent by Atlassian JIRA (v6.3.4#6332)