nlib
|
JSONパーサーです。ストリームからJSON文字列を読み込んでパースします。 [詳解]
#include "nn/nlib/msgpack/JsonReader.h"
公開型 | |
enum | Option { OPTION_DEFAULT = 0x00000000, OPTION_RELAXED = 0x00000001 } |
Read() に渡すことのできるオプション値が定義されています。 [詳解] | |
公開メンバ関数 | |
InputStream * | GetStream () noexcept |
Init() で設定したベースストリームを取得します。 [詳解] | |
int | GetLine () const noexcept |
(エラーが発生した付近の)行番号を取得します。 | |
int | GetColumn () const noexcept |
(エラーが発生した付近の)桁番号を取得します。 | |
bool | Read (MpObject *obj, uint32_t option=0) noexcept |
JSON文字列をストリームから読み込んでパースし、obj に設定します。 [詳解] | |
基本的なメンバ関数 | |
JsonReader () noexcept | |
デフォルトコンストラクタです。 | |
~JsonReader () noexcept | |
デストラクタです。 | |
初期化と終了 | |
bool | Init (InputStream *stream, const JsonReaderSettings &settings) noexcept |
settings に従いJsonReader を初期化します。失敗した場合はエラーを設定してfalse を返します。 [詳解] | |
bool | Init (InputStream *stream) noexcept |
デフォルト設定でJsonReader を初期化します。失敗した場合はエラーを設定してfalse を返します。 [詳解] | |
bool | Close () noexcept |
JsonReader をクローズします。 [詳解] | |
エラーチェック | |
errno_t | GetErrorValue () const noexcept |
発生したエラーを取得します。 [詳解] | |
operator bool () const | |
エラーが発生していなければtrue を返します。 | |
静的公開メンバ関数 | |
static errno_t | ReadEx (MpObject *obj, const void *jsontext, uint32_t option=0, size_t n=RSIZE_MAX) noexcept |
JSON文字列をパースしてオブジェクトを設定します。 [詳解] | |
static bool | Read (MpObject *obj, const char *jsontext, uint32_t option=0) noexcept |
JSON文字列をパースしてオブジェクトを設定します。 [詳解] | |
JSONパーサーです。ストリームからJSON文字列を読み込んでパースします。
JsonReader.h の 38 行目に定義があります。
Read()
に渡すことのできるオプション値が定義されています。
列挙値 | |
---|---|
OPTION_DEFAULT |
デフォルトの設定です。 |
OPTION_RELAXED |
JSONは本来配列か連想配列である必要がありますが、その規則を緩めて解釈します。 例えば数値や文字列のみ、といった厳密にはJSONでない文字列を読み込むことを可能にしたい場合に指定します。 |
JsonReader.h の 40 行目に定義があります。
|
inlinenoexcept |
JsonReader
をクローズします。
true
JsonReader
をクローズして、ベースストリームをデタッチします。 この際、ベースストリームはクローズされません。 Init()
メンバ関数を再び利用することでオブジェクトを再利用することができます。 JsonReader.h の 52 行目に定義があります。
|
inlinenoexcept |
発生したエラーを取得します。
0 | エラーは発生していません。 |
EILSEQ | JSONとしては正しくない文字に遭遇した(パースエラー)。 |
EINVAL | 引数にエラーがあった。 |
EEXIST | 初期化されたJsonReader を再度初期化しようとした。 |
EIO | ベースストリームでエラーが発生した。 |
EBADF | 未初期化のJsonReader を利用しようとした。 |
E2BIG | 配列サイズ等が大きすぎた。 |
ENOMEM | メモリの取得に失敗した。 |
JsonReader.h の 53 行目に定義があります。
|
inlinenoexcept |
|
noexcept |
settings
に従いJsonReader
を初期化します。失敗した場合はエラーを設定してfalse
を返します。
[in] | stream | 入力ストリームへのポインタ |
[in] | settings | JSONパーサーの各種設定 |
true
|
inlinenoexcept |
デフォルト設定でJsonReader
を初期化します。失敗した場合はエラーを設定してfalse
を返します。
[in] | stream | 入力ストリームへのポインタ |
true
JsonReader.h の 48 行目に定義があります。
|
inlinestaticnoexcept |
JSON文字列をパースしてオブジェクトを設定します。
[in] | obj | 変換されたJSONが格納されるオブジェクト |
[in] | jsontext | JSON文字列 |
[in] | option | オプション。JsonReader::Option 型の値を論理和で合成した値を与えます。 |
true
JsonReader
を構築し、メモリストリームからJSON文字列を読み込みパースします。 途中で何らかのエラーがあった場合はfalse
を返します。その場合はobj
は不変です。 JsonReader.h の 61 行目に定義があります。
|
noexcept |
JSON文字列をストリームから読み込んでパースし、obj
に設定します。
[in] | obj | 読み込んだJSONが設定されるオブジェクト |
[in] | option | オプション。JsonReader::Option 型の値を論理和で合成した値を与えます。 |
true
MpObject
に変換されて、obj
に格納されます。 読み込み中にエラーが発生した場合、エラーを設定してfalse
を返します。
|
staticnoexcept |
JSON文字列をパースしてオブジェクトを設定します。
[in] | obj | 変換されたJSONが格納されるオブジェクト |
[in] | jsontext | JSON文字列 |
[in] | option | オプション。JsonReader::Option 型の値を論理和で合成した値を与えます。 |
[in] | n | jsontext のサイズ。jsontext がヌル終端していない場合は必ず指定する必要があります。 |
true
JsonReader
を構築し、メモリストリームからJSON文字列を読み込みパースします。 途中で何らかのエラーがあった場合はfalse
を返します。その場合はobj
は不変です。 © 2013, 2014, 2015 Nintendo Co., Ltd. All rights reserved.