nlib
|
JSON SchemaによりJSONやmsgpackの検証を行うためのクラスです。 [詳解]
#include "nn/nlib/msgpack/JsonSchema.h"
クラス | |
struct | Detail |
JSON Schemaの検証に失敗した場合、path というメンバに検証に失敗した場所についての文字列が書き込まれます。 [詳解] | |
公開型 | |
enum | Result { kOk = 0 , kOutOfMemory, kFail, kInvalidSchema, kVersionNotSupported } |
関数の実行結果です。 [詳解] | |
公開メンバ関数 | |
constexpr | JsonSchemaValidator () noexcept |
デフォルトコンストラクタです。 | |
~JsonSchemaValidator () noexcept | |
デストラクタです。 | |
void | Reset () noexcept |
オブジェクトをデフォルトコンストラクタの実行後と同じ状態に設定します。 | |
Result | Init (const nlib_byte_t *schema_bytecode, size_t n) noexcept |
JSON Schemaを指定してオブジェクトを初期化します。 [詳解] | |
Result | Validate (const MpObject &obj, Detail *detail) noexcept |
JSON Schemaによる検証を行います。 [詳解] | |
JSON SchemaによりJSONやmsgpackの検証を行うためのクラスです。
MpObject
の検証を行うために利用することができます。 JSON SchemaはJsonSchemaConverter
によりバイトコード形式に変換されたものを利用します。 バイトコードに変換することにより、JSON Schemaをそのまま検証に用いるより高速な検証が可能となります。 "pattern"
及び"patternProperties"
による検証にはstd::regex
を利用します。 std::regex
が存在しない環境では"pattern"
及び"patternProperties"
による検証は全て成功します。 JsonSchema.h の 32 行目に定義があります。
関数の実行結果です。
JsonSchema.h の 34 行目に定義があります。
|
noexcept |
JSON Schemaを指定してオブジェクトを初期化します。
[in] | schema_bytecode | JsonSchemaConverter によってバイトコードに変換されたJSON Schema |
[in] | n | schema_bytecode のサイズ |
kOk | 成功した場合 |
kInvalidParam | schema_bytecode がNULL またはn が0であった場合 |
kAlreadyInitialized | 既にオブジェクトが初期化済みだった場合 |
kOutOfMemory | メモリの確保に失敗した場合 |
kInvalidSchema | スキーマが無効だった場合 |
kVersionNotSupported | サポートしている形式ではなかった場合 |
JSON Schemaによる検証を行います。
[in] | obj | JSON Schemaにより検証されるデータ |
[in] | detail | NULL でない場合、検証が失敗した場合に追加の情報が得られます。 |
kOk | 検証が成功した場合 |
kFail | 検証が失敗した場合 |
kOutOfMemory | メモリの確保に失敗した場合 |
kInvalidSchema | スキーマが無効だった場合 |
© 2012-2017 Nintendo Co., Ltd. All rights reserved.