[fpc-pascal] TJSONData.FindPath() troubles where data contains dots.

Graeme Geldenhuys mailinglists at geldenhuys.co.uk
Wed Feb 8 17:08:16 CET 2017


I've studied the following documenation to make sure I'm using
FindPath() correctly.


Now, I have the following JSON data.... I omitted what is not relevant.
	"VersionDependencies": {
		"2.5.0": {
			"packages": "master",
			"framework": "3.11.0"

I can do Data.FindPath("VersionDependencies") and it finds the data node
without problems.

But when I try:

  ver: string:
  ver := '2.5.0';

It never finds the "2.5.0" data node. I'm assuming the dots in the
version string is what is causing the problem in fcl-json. Initially I
thought I could add extra quotes around the version string. Like so:


But that didn't work either.

Is this a bug of some sorts, or is there another way around this problem?

I guess my only option is to use TJSONenum and iterate of the
"VersionDependencies" data, and manually look for the data node I'm
interested in. Like so:

  d := Data.FindPath('VersionDependencies');

  for ItrItem in d do
    if d.Key = ver then

Is there another way of finding the data I'm interested in?


fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal

My public PGP key:  http://tinyurl.com/graeme-pgp

More information about the fpc-pascal mailing list