do you have an example of how i could parse a recursive JSON?
You can have a look how it is done in the JSONDatastore of tvplaint:https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/tvplanit/source/vpjsonds.pas:
TVpJSONDatastore.ReadJSON reads an entire json file which here consists of "Resources" which, in turn, consist of arrays of "Events", "Contacts" and "Tasks". JSONToEvent, for example, extracts all information needed for an event from the corresponding json array element.
I am aware that this is not a recursive algorithm because the structure of the file is well-defined. But maybe you only want to know how to parse a json in general.