[ 
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)

Reply via email to