JSONata Node

JSONata is a an incredibly flexible and feature complete way to transform JSON.
As data transformation is key to pretty much all n8n use cases it would be great to have it installed by default (or at least with a flag).

Even better would be a GUI to handle common use cases that would help build the code that could be switched into advanced (edit the code directly).

Hey @Matt2012,

We released the Item Lists node that handles a lot of transformation. Let us know if that node covers your use case :slight_smile:

(You will have to update n8n to 0.138.0 to use the node)

1 Like

This is a great addition which handles a lot of the main requirements. However JSONATA still offers stuff I doubt you would ever get to such as being able to do computations on json data. (AVG, SUM etc.).
As well as sophisticated filters.

I would still strongly recommend that JSONATA be included as a library (like moment.js I think is) . So it could be used in a function node.

1 Like

In fact, I have already implemented this node in my system. I can provide this opne source and make a pull request.
In general I still have many nodes that I would like to make available to n8n.
Currently I would only have to compare what n8n has already implemented itself and of course clean everything up.

5 Likes

That would be amazing.

I will look for it after my holiday :slight_smile:

JSON query languages are super powerful. Any particular reason to use JSONata over other alternatives (say, JMESPath)?

Looks good. Maybe the answer is an easy way to add node.js libraries to the function node rather than end up with hundreds of discrete nodes. @sirdavidoff @lublak @harshil1712

I just find the development of nodes more important than external nodejs modules. It allows to address the necessary fields directly in the interface.
I use function nodes rather reluctantly only if it can not be avoided.
Nocode facilitates the overview for non-developers and a workflow system should also go there.
Otherwise you could also write everything in source code. for this there are also the necessary frameworks :slight_smile: @Matt2012
But here too! My opinion. Everyone can of course have a different point of view on it.

What we’re looking into right now is extending expressions, to add helper functions for common things. So you could write, for example {{$now.plus(2, 'days')}}

Any thoughts on what kind of helper functions you’d like to see?

a bit late but here we go

4 Likes

Talked to my team mate last week about JSONata. So you’re not late but just in time for us!! :clap:t2:

Thank you for your work!

1 Like

Would be great to have this node as soon as possible!

2 Likes

so cool …

3 Likes

Now avaible as a community node: lublak/n8n-nodes-jsonata: JSON query and transformation language as a n8n node (github.com)

2 Likes

Can JSONata be implemented in n8n cloud?

The simplicity and extensibility is refreshing…
It’s a breeze to get a hang of, even for no-code users.

As a no-code user,
Been using it recently as glideapps.com added it as one of their available features.

@Jon could this be considered? Implementing this node in the cloud version could really simplify parsing data in n8n,

atm the JavaScript module has to be used when something much simpler could be utilized.

Will be so helpful, especially with the new langchain integration to parse AI JSON outputs.

Hey @Eden,

Have you checked out our JMESPath option? It might do what you are after already.