Selvam,

There was a ValidateJson processor submitted under NIFI-1893 [1], but
it used a library that has been deemed Category X so it had to be
removed. Hopefully it will be refactored and resubmitted.

If you are not encumbered by the JSON.org license, you can build the
ValidateJson processor yourself or use ExecuteScript, I have an
example [2] that uses the same approach (with JSONSchema) to validate
the JSON.  Alternatively you don't need JSONSchema to check for
missing fields, you can use Groovy's built-in JsonSlurper and just
check the parsed object to see if the field exists. I have an example
of using the slurper (and accessing the object fields) at [3].

Regards,
Matt

[1] http://issues.apache.org/jira/browse/NIFI-1893
[2] http://funnifi.blogspot.com/2016/05/validating-json-in-nifi-with.html
[3] 
http://funnifi.blogspot.com/2016/02/executescript-json-to-json-conversion.html

On Thu, Jan 12, 2017 at 11:06 AM, Selvam Raman <[email protected]> wrote:
> Thanks mark.
>
> I have already followed the same approach but we are having more than fifty
> fields, so thinking about is there any other way?
>
> Thanks,
> selvam R
>
> On Thu, Jan 12, 2017 at 3:03 PM, Mark Payne <[email protected]> wrote:
>>
>> Selvam,
>>
>> You can use EvaluateJsonPath to extract the particular JSON value into an
>> attribute
>> and then use RouteOnAttribute to make sure that the field exists (and is
>> valid if necessary).
>>
>> For example, for EvalualteJsonPath you might use something like:
>>
>> name: $.person.name
>>
>> And then in RouteOnAttribute, you could use:
>>
>> missing.name: ${name:isEmpty()}
>>
>> If you have multiple fields to check on RouteOnAttribute, you could create
>> a separate Relationship
>> for each rule by setting the "Routing Strategy" property to "Route to
>> Property Name" or you could
>> set the Routing Strategy to "Route to 'matched' if any matches" and then
>> the 'unmatched' relationship would indicate that the JSON is valid.
>>
>> Thanks
>> -Mark
>>
>>
>> On Jan 12, 2017, at 8:46 AM, Selvam Raman <[email protected]> wrote:
>>
>> Hi,
>>
>> I will get array of json files. There are some fields which are mandatory
>> in json file, if not present i should not process file.
>>
>> How can i achieve it in nifi.
>>
>> --
>> Selvam Raman
>> "லஞ்சம் தவிர்த்து நெஞ்சம் நிமிர்த்து"
>>
>>
>
>
>
> --
> Selvam Raman
> "லஞ்சம் தவிர்த்து நெஞ்சம் நிமிர்த்து"

Reply via email to