Hi,

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


http://www.freepascal.org/docs-html/3.0.0/fcl/fpjson/tjsondata.findpath.html

Now, I have the following JSON data.... I omitted what is not relevant.
========================
{
   ...snip...
        "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:

var
  ver: string:
begin
  ver := '2.5.0';
  ...snip...
  Data.FindPath('VersionDependencies.'+ver)

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:

  Data.FindPath('VersionDependencies.'''+ver+'''')

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
       ...snip...


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

Regards,
  Graeme

-- 
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://fpgui.sourceforge.net/

My public PGP key:  http://tinyurl.com/graeme-pgp
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to