cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

Turning Embedded JSON into Data

pcoleman
New Contributor III

Hiโ€ฆI have a REST get that returns the following as part of itโ€™s payload:
image

Not sure what the right approach is, but I ultimately want to take that JSON that comes back as text in that $ field and turn it into documents. Not sure if I should be looking at the map() function or what. Any thoughts?

10 REPLIES 10

pcoleman
New Contributor III

OK. I finally got this to work, but the method I used seems kind of overlong and hacky. First I took the input and ran it through this:
JSON.stringify(jsonPath($, "entity.feed.entry[*].content['$']")).replaceAll('\\n','').replaceAll('\\','').replaceAll('"{','{').replaceAll('}"','}')
This cleaned up the string to look like clean JSON minus the \n, escape and extra quote characters.
After this I turned it into a document and read it back in and used a JSON parser.
image

This worked, but Iโ€™m not really happy with the method. Is there any sort of clean function that takes control characters and escapes and just scrubs them? Iโ€™ve seen payloads in the past that come in a single field in a REST call and it seems like Iโ€™m doing a lot of extra and unnecessary work if I have to write it to disk just to read it back in.

pcoleman
New Contributor III

Realized I can skip the File Writing by doing a JSON.parse() on the whole thing. Still seems like there should be a better way.

JSON.parse(JSON.stringify(jsonPath($, "entity.feed.entry[*].content['$']")).replaceAll('\\n','').replaceAll('\\','').replaceAll('"{','{').replaceAll('}"','}'))

Hi Paul,

Good day, have you tried to set the Response Entity Type to BINARY in the REST Get snap?

image

then followed by a mapper with an output view as binary setting up the $content object in prep for writing

image

If you want to stream the document, use JSON parser snap instead of a File Writer snap

image

image

pcoleman
New Contributor III

Iโ€™ve done that before, but I donโ€™t think it will work in this case because the entity is a whole lot more than just that JSON. Iโ€™ll give it a try though. If they were only sending that code as the entity, then I think Iโ€™d be ok. I think the mixed modes (xml with embedded JSON) of this data is rightfully causing an issue.