System.JSON.TJSONPathParser

From RAD Studio API Documentation
Jump to: navigation, search

System.TObjectTJSONPathParser

Delphi

TJSONPathParser = class

C++

class PASCALIMPLEMENTATION TJSONPathParser : public System::TObject

Properties

Type Visibility Source Unit Parent
class public
System.JSON.pas
System.JSON.hpp
System.JSON System.JSON

Description

Parser of a JSON path.

A JSON path is a string that defines a path to a specific item within JSON data. A JSON path is to JSON what XPath is to XML.

Supported JSON Path Syntax

TJSONPathParser implements a subset of the JSON path specification defined by Stefan Göessner. Specifically, supported elements are:

  • Child operators for objects:
    • Use . to access object properties that do not contain a dot in their name. For example, use root.child to access the child property of the root object.
    • Use [] to access object properties that do contain a quoting character in their name. For example, use root['child.name'] or root["child.name"] to access the child.name property of the root object.
  • Subscript operator ([]) for arrays. For example, use root[0] to access the first item of the root array.

These operators do not support special expressions, they only support actual values (object properties or array indexes).

Using TJSONPathParser

When you create an instance of TJSONPathParser, you must pass the target JSON path to the constructor.

Once you have an instance of TJSONPathParser, call NextToken to iterate through the tokens of the specified JSON path until IsEof is True or NextToken returns an Error token.

NextToken may return any of the following tokens:

Token Description

ArrayIndex

The next token in the JSON path is the index of an item of a JSON array. TokenArrayIndex contains the target index.

Name

The next token in the JSON path is the key of a key-value pair of a JSON object. TokenName contains the target key.

Eof

You have reached the end of the JSON path.

You cannot continue iterating through the path, if you call NextToken again on this instance of TJSONPathParser an exception raises.

Error

There is an error in the specified JSON path.

You cannot continue iterating through the path, if you call NextToken again on this instance of TJSONPathParser an exception raises.

Token contains the token that the last call to NextToken returned.

For a code example that shows how to use TJSONPathParser, see the implementation of TJSONIterator.Find.

See Also