On Thu, 16 Jun 2016, Graeme Geldenhuys wrote:

On 2016-06-16 16:48, Michael Van Canneyt wrote:
You can't.

There is no reference to the owner.

After I posted the message I took a closer look at the fpjson code and
came to the same conclusion. Apparently the same thing is true for other
JSON implementations too.

This is rather baffling - why can't you traverse backwards? It is such
a logical thing with any hierarchy of data. And judging by the amount of
questions on StackOverflow and other places on the Internet, it seems
many people would like a .Parent property too.

Would a patch for that be accepted?

No.

It increases memory usage, which I want to be kept to an absolute minimum,
and I believe the use case for this kind of request to be very marginal. In 99% of cases you will do the JSONPath() approach using find.

I realize someone is out of luck if he is in the 1% marginal cases, but
I really don't want to clutter the implementation for this.

There are hooks to instantiate custom descendent types if someone is so
inclined, and this can be used to instantiate types that have a parent.

I see more use in a SAX-kind of parser, which could be used to construct a 'map'
of the data in case such a thing is needed, which could be used for the
purpose of finding a parent. This is still on my todo list.

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to