System.JSON.TJSONPathParser

提供: RAD Studio API Documentation
移動先: 案内検索

System.TObjectTJSONPathParser

Delphi

TJSONPathParser = class

C++

class PASCALIMPLEMENTATION TJSONPathParser : public System::TObject

プロパティ

種類 可視性 ソース ユニット
class public
System.JSON.pas
System.JSON.hpp
System.JSON System.JSON


説明

JSON パスのパーサーです。

JSON パスとは、JSON データ内の特定の項目のパスを定義した文字列です。JSON の JSON パスは、XMLXPath のようなものです。

サポートされている JSON パス構文

TJSONPathParser は、Stefan Göessner によって定義された JSON パス仕様のサブセットを実装しています。特に、サポートされている要素は次のとおりです:

  • オブジェクトの子演算子:
    • . を使用すると、名前にドットを含んでいないオブジェクトのプロパティにアクセスすることができます。たとえば、root.child を使用すると、root オブジェクトの child プロパティにアクセスすることができます。
    • . を使用すると、名前に引用文字を含んでいるオブジェクトのプロパティにアクセスすることができます。 たとえば、root['child.name']root["child.name"] を使用すると、root オブジェクトの child.name プロパティにアクセスすることができます。
  • 配列の添字演算子([])。たとえば、root[0] を使用すると、root 配列の最初の項目にアクセスすることができます。

これらの演算子では特別な式をサポートしていません。サポートしているのは実際の値(オブジェクトのプロパティや配列のインデックス)だけです。

TJSONPathParser の使い方

TJSONPathParser のインスタンスを作成するときに、対象の JSON パスをコンストラクタに渡す必要があります。

TJSONPathParser のインスタンスを作成したら、NextToken を呼び出して、IsEofTrue になるか NextTokenError トークンを返すまで、指定された JSON パスのトークンを反復処理します。

NextToken は、次のトークンのいずれも返すことができます。

トークン 説明

ArrayIndex

JSON パス内の次のトークンは、JSON 配列項目のインデックスです。 TokenArrayIndex は、ターゲットのインデックスを保有します。

Name

JSON パス内の次のトークンは、JSON オブジェクトキー/値ペアのキーです。 TokenName には、ターゲットのキーが含まれています。

Eof

JSON パスの最後に到達しました。

パスの走査を続行することはできません。TJSONPathParser のこのインスタンスに NextToken をもう一度呼び出すと、例外が発生します。

Error

指定された JSON パスにエラーがあります。

パスの走査を続行することはできません。TJSONPathParser のこのインスタンスに NextToken をもう一度呼び出すと、例外が発生します。

Token には、最後に NextToken を呼び出したときに返されたトークンが含まれています。

TJSONPathParser の使い方を示すコード例は、TJSONIterator.Find の実装を参照してください。

関連項目