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 パス仕様のサブセットを実装しています。具体的には、オブジェクトのドット演算子(.)および配列の添字演算子([])がサポートされています。これらの演算子では特別な式をサポートしていません。サポートしているのは実際の値だけです。

TJSONPathParser では、たとえば "store.books[0].title" のような JSON パスをサポートしています。

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 の実装を参照してください。

関連項目