System.JSON.TJSONPathParser
![TJSONPathParser](/images/Libraries/Seattle/j/a/a1/System.JSON.TJSONPathParser.png)
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 パスは、XML の XPath のようなものです。
サポートされている JSON パス構文
TJSONPathParser では、Stefan Göessner が定義した JSON パス仕様のサブセットを実装しています。具体的には、オブジェクトのドット演算子(.
)および配列の添字演算子([]
)がサポートされています。これらの演算子では特別な式をサポートしていません。サポートしているのは実際の値だけです。
TJSONPathParser では、たとえば "store.books[0].title" のような JSON パスをサポートしています。
TJSONPathParser の使い方
TJSONPathParser のインスタンスを作成するときに、対象の JSON パスをコンストラクタに渡す必要があります。
TJSONPathParser のインスタンスを作成したら、NextToken を呼び出して、IsEof が True
になるか NextToken が Error トークンを返すまで、指定された JSON パスのトークンを反復処理します。
NextToken は、次のトークンのいずれも返すことができます。
トークン | 説明 |
---|---|
|
JSON パス内の次のトークンは、JSON 配列の項目のインデックスです。 TokenArrayIndex は、ターゲットのインデックスを保有します。 |
|
JSON パス内の次のトークンは、JSON オブジェクトのキー/値ペアのキーです。 TokenName には、ターゲットのキーが含まれています。 |
|
JSON パスの最後に到達しました。 パスの走査を続行することはできません。TJSONPathParser のこのインスタンスに NextToken をもう一度呼び出すと、例外が発生します。 |
|
指定された JSON パスにエラーがあります。 パスの走査を続行することはできません。TJSONPathParser のこのインスタンスに NextToken をもう一度呼び出すと、例外が発生します。 |
Token には、最後に NextToken を呼び出したときに返されたトークンが含まれています。
TJSONPathParser の使い方を示すコード例は、TJSONIterator.Find の実装を参照してください。