Hi Koji,
Turn out even simpler than that: EvaluateJsonPath to extract it MSG part
into attribute and AttibuteToJson produces normal Json.
Thank you,
Victor

On Wed, Mar 6, 2019 at 8:55 PM Koji Kawamura <[email protected]> wrote:

> Hello,
>
> I haven't tested myself, but using EvaluateJsonPath and ReplaceText
> with 'unescapeJson' EL function may be an alternative approach instead
> of Jolt.
>
> https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#unescapejson
>
> Idea is, use EvaluateJsonPath to extract the MSG part into a FlowFile
> attribute, e.g. 'message'.
> Then use ReplaceText with 'Replacement Value' as
> "${message:unescapeJson()}" to update FlowFile content with the normal
> JSON representation.
>
> Thanks,
> Koji
>
> On Thu, Mar 7, 2019 at 5:18 AM l vic <[email protected]> wrote:
> >
> > I have json message that contains another json message in textual form:
> > {
> > "one": "one".
> > "two":2,
> > "MSG": "{\"src\":\"my source\",\"priority\":\"0\"}"
> > }
> >
> > What would be transform spec to get "contained" message in json ?
> > {
> > "src": "my source",
> > "priority": "0"
> > }
> >
> > I've tried the following spec:
> > [
> >   {
> >     "operation": "shift",
> >     "spec": {
> >       "MSG": {
> >         "*": "&"
> >       }
> >     }
> >   }
> > ]
> > but ended up with just text message:
> > { "MSG": "{\"src\":\"my source\",\"priority\":\"0\"}"}
> > How should i change it?
> > Thank you
> >
>

Reply via email to