Obviously, this can be combined:Var D,E : TJSONData; begin D:=TJSONObject.Create(['Age',23, 'Names', TJSONObject.Create([ 'LastName','Rodriguez', 'FirstName','Roberto'])]); E:=D.FindPath('Names.LastName'); Writeln(E.AsJSON); end.And mixed:var D,E : TJSONData; begin D:=TJSONObject.Create(['Children', TJSONArray.Create([ TJSONObject.Create(['Age',23, 'Names', TJSONObject.Create([ 'LastName','Rodriguez', 'FirstName','Roberto']) ]), TJSONObject.Create(['Age',20, 'Names', TJSONObject.Create([ 'LastName','Rodriguez', 'FirstName','Maria']) ]) ]) ]); E:=D.FindPath('Children[1].Names.FirstName'); Writeln(E.AsJSON);end.
it helps reading the documentation.......https://www.freepascal.org/docs-html/fcl/fpjson/tjsondata.findpath.html