Json配列. [詳細]
#include "necbaas/nb_json_array.h"
Public メソッド | |
NbJsonArray () | |
コンストラクタ. [詳細] | |
NbJsonArray (const std::string &json_string) | |
コンストラクタ. [詳細] | |
~NbJsonArray () | |
デストラクタ. [詳細] | |
void | PutAll (const std::string &json) |
全データセット. [詳細] | |
template<typename T > | |
void | PutAllList (const T &container) |
全データセット(リスト形式). [詳細] | |
int | GetInt (unsigned int index, int default_value=0) const |
整数値取得. [詳細] | |
int64_t | GetInt64 (unsigned int index, int64_t default_value=0) const |
64bit整数値取得. [詳細] | |
double | GetDouble (unsigned int index, double default_value=0.0) const |
浮動小数点値取得. [詳細] | |
bool | GetBoolean (unsigned int index, bool default_value=false) const |
真偽値取得. [詳細] | |
std::string | GetString (unsigned int index, const std::string &default_value="") const |
文字列取得. [詳細] | |
NbJsonObject | GetJsonObject (unsigned int index) const |
Jsonオブジェクト取得. [詳細] | |
NbJsonArray | GetJsonArray (unsigned int index) const |
Json配列取得. [詳細] | |
template<typename T > | |
void | GetAllInt (T *out_container, int default_value=0) const |
整数値リスト取得. [詳細] | |
template<typename T > | |
void | GetAllInt64 (T *out_container, int64_t default_value=0) const |
64bit整数値リスト取得. [詳細] | |
template<typename T > | |
void | GetAllDouble (T *out_container, double default_value=0.0) const |
浮動小数点値リスト取得. [詳細] | |
template<typename T > | |
void | GetAllBoolean (T *out_container, bool default_value=false) const |
真偽値リスト取得. [詳細] | |
template<typename T > | |
void | GetAllString (T *out_container, const std::string &default_value="") const |
文字列リスト取得. [詳細] | |
const Json::Value & | GetSubstitutableValue () const |
[内部処理用] [詳細] | |
Json::Value & | operator[] (unsigned int index) |
Value設定用添え字演算子. [詳細] | |
const Json::Value & | operator[] (unsigned int index) const |
Value参照用添え字演算子. [詳細] | |
bool | PutJsonObject (unsigned int index, const NbJsonObject &json_object) |
Jsonオブジェクト設定. [詳細] | |
bool | PutJsonArray (unsigned int index, const NbJsonArray &json_array) |
Json配列設定. [詳細] | |
bool | PutNull (unsigned int index) |
null設定. [詳細] | |
template<typename T > | |
bool | Append (T value) |
配列末尾に追加. [詳細] | |
bool | AppendJsonObject (const NbJsonObject &json_object) |
配列末尾に追加(Jsonオブジェクト). [詳細] | |
bool | AppendJsonArray (const NbJsonArray &json_array) |
配列末尾に追加(Json配列). [詳細] | |
bool | AppendNull () |
配列末尾に追加(null). [詳細] | |
unsigned int | GetSize () const |
Json配列サイズ取得. [詳細] | |
bool | IsEmpty () const |
オブジェクト空確認. [詳細] | |
NbJsonType | GetType (unsigned int index) const |
Jsonタイプ取得. [詳細] | |
void | Remove (unsigned int index) |
Index削除. [詳細] | |
void | Clear () |
全データ削除. [詳細] | |
std::string | ToJsonString () const |
Json文字列変換. [詳細] | |
void | Replace (const Json::Value &value) |
[内部処理用] [詳細] | |
bool | operator== (const NbJsonArray &other) const |
==演算子. [詳細] | |
Json配列.
Json形式の配列を提供する。
データの取得は、データ型に対応したGetメソッドを使用する。
データの設定は、添え字演算子[]かデータ型に対応したPutメソッドを使用する。
本クラスのインスタンスはスレッドセーフではない
necbaas::NbJsonArray::NbJsonArray | ( | ) |
コンストラクタ.
|
explicit |
コンストラクタ.
Json文字列をParseしてNbJsonArrayを生成する。
Json Parseに失敗した場合は、空のJson配列が生成される。
[in] | json_string | Json文字列 |
necbaas::NbJsonArray::~NbJsonArray | ( | ) |
デストラクタ.
|
inline |
配列末尾に追加.
配列の末尾にValueを設定する。 設定可能なValueの型は以下
NbJsonObject, NbJsonArray の設定は、 AppendJsonObject(), AppendJsonArray() を使用すること。
既に配列のサイズが最大値に達している場合はfalseを返す。
[in] | value | Value |
true | 処理成功 |
false | 処理失敗 |
bool necbaas::NbJsonArray::AppendJsonArray | ( | const NbJsonArray & | json_array | ) |
配列末尾に追加(Json配列).
配列の末尾にJson配列を設定する。
既に配列のサイズが最大値に達している場合はfalseを返す。
[in] | json_array | Value |
true | 処理成功 |
false | 処理失敗 |
bool necbaas::NbJsonArray::AppendJsonObject | ( | const NbJsonObject & | json_object | ) |
配列末尾に追加(Jsonオブジェクト).
配列の末尾にJsonオブジェクトを設定する。
既に配列のサイズが最大値に達している場合はfalseを返す。
[in] | json_object | Value |
true | 処理成功 |
false | 処理失敗 |
bool necbaas::NbJsonArray::AppendNull | ( | ) |
配列末尾に追加(null).
配列の末尾にnullを設定する。
既に配列のサイズが最大値に達している場合はfalseを返す。
true | 処理成功 |
false | 処理失敗 |
void necbaas::NbJsonArray::Clear | ( | ) |
全データ削除.
全ての配列を削除する。
|
inline |
真偽値リスト取得.
Json配列に設定されたデータ型が全て真偽値型の場合に使用可能。
以下の場合は、該当Indexにdefault_valueを設定する。
OUTパラメータとして使用可能な型は以下の通り。
[out] | out_container | STLコンテナ。nullptrの場合は処理を行わない。 |
[in] | default_value | 取得できなかったときに設定する値 |
|
inline |
浮動小数点値リスト取得.
Json配列に設定されたデータ型が全て数値型の場合に使用可能。
以下の場合は、該当Indexにdefault_valueを設定する。
OUTパラメータとして使用可能な型は以下の通り。
[out] | out_container | STLコンテナ。nullptrの場合は処理を行わない。 |
[in] | default_value | 取得できなかったときに設定する値 |
|
inline |
整数値リスト取得.
Json配列に設定されたデータ型が全て数値型の場合に使用可能。
浮動小数点は丸められる。
以下の場合は、該当Indexにdefault_valueを設定する。
OUTパラメータとして使用可能な型は以下の通り。
[out] | out_container | STLコンテナ。nullptrの場合は処理を行わない。 |
[in] | default_value | 取得できなかったときに設定する値 |
|
inline |
64bit整数値リスト取得.
Json配列に設定されたデータ型が全て数値型の場合に使用可能。
浮動小数点は丸められる。
以下の場合は、該当Indexにdefault_valueを設定する。
OUTパラメータとして使用可能な型は以下の通り。
[out] | out_container | STLコンテナ。nullptrの場合は処理を行わない。 |
[in] | default_value | 取得できなかったときに設定する値 |
|
inline |
文字列リスト取得.
Json配列に設定されたデータ型が全て文字列型の場合に使用可能。
以下の場合は、該当Indexにdefault_valueを設定する。
OUTパラメータとして使用可能な型は以下の通り。
[out] | out_container | STLコンテナ。nullptrの場合は処理を行わない。 |
[in] | default_value | 取得できなかったときに設定する値 |
bool necbaas::NbJsonArray::GetBoolean | ( | unsigned int | index, |
bool | default_value = false |
||
) | const |
真偽値取得.
Indexに対応するValueをbool型で取得する。
以下の場合は、default_valueを返却する。
[in] | index | Index |
[in] | default_value | 取得できなかったときに返す値 |
double necbaas::NbJsonArray::GetDouble | ( | unsigned int | index, |
double | default_value = 0.0 |
||
) | const |
浮動小数点値取得.
Indexに対応するValueをdouble型で取得する。
以下の場合は、default_valueを返却する。
[in] | index | Index |
[in] | default_value | 取得できなかったときに返す値 |
int necbaas::NbJsonArray::GetInt | ( | unsigned int | index, |
int | default_value = 0 |
||
) | const |
整数値取得.
Indexに対応するValueをint型で取得する。
浮動小数点は丸められる。
以下の場合は、default_valueを返却する。
[in] | index | Index |
[in] | default_value | 取得できなかったときに返す値 |
int64_t necbaas::NbJsonArray::GetInt64 | ( | unsigned int | index, |
int64_t | default_value = 0 |
||
) | const |
64bit整数値取得.
Indexに対応するValueをint64_t型で取得する。
浮動小数点は丸められる。
以下の場合は、default_valueを返却する。
[in] | index | Index |
[in] | default_value | 取得できなかったときに返す値 |
NbJsonArray necbaas::NbJsonArray::GetJsonArray | ( | unsigned int | index | ) | const |
Json配列取得.
Indexに対応するValueをNbJsonArray型で取得する。
以下の場合は、空のJson配列を返却する。
[in] | index | Index |
NbJsonObject necbaas::NbJsonArray::GetJsonObject | ( | unsigned int | index | ) | const |
Jsonオブジェクト取得.
Indexに対応するValueをNbJsonObject型で取得する。
以下の場合は、空のJsonオブジェクトを返却する。
[in] | index | Index |
unsigned int necbaas::NbJsonArray::GetSize | ( | ) | const |
Json配列サイズ取得.
Json配列のサイズを取得する。
std::string necbaas::NbJsonArray::GetString | ( | unsigned int | index, |
const std::string & | default_value = "" |
||
) | const |
文字列取得.
indexに対応するValueをstd::string型で取得する。
以下の場合は、default_valueを返却する。
[in] | index | Index |
[in] | default_value | 取得できなかったときに返す値 |
const Json::Value& necbaas::NbJsonArray::GetSubstitutableValue | ( | ) | const |
[内部処理用]
NbJsonType necbaas::NbJsonArray::GetType | ( | unsigned int | index | ) | const |
Jsonタイプ取得.
Indexに対応するJsonタイプを取得する。
[in] | index | Index |
bool necbaas::NbJsonArray::IsEmpty | ( | ) | const |
オブジェクト空確認.
Json配列が空かどうかを確認する。
true | 空 |
false | Json配列にValueが存在 |
bool necbaas::NbJsonArray::operator== | ( | const NbJsonArray & | other | ) | const |
==演算子.
Json::Value& necbaas::NbJsonArray::operator[] | ( | unsigned int | index | ) |
Value設定用添え字演算子.
添え字演算子を使用してIndexに対応するValueを設定する。
Indexが存在する場合は、Valueが更新される。
Indexが存在しない場合は、配列のサイズを拡張し、Valueが作成される。
設定可能なValueの型は以下
NbJsonObject, NbJsonArray の設定は、 PutJsonObject(), PutJsonArray() を使用すること。
使用可能な配列の最大サイズは、UINT_MAXである。UINT_MAX-1を超えるIndexを指定した場合は無視される。
[in] | index | Index |
const Json::Value& necbaas::NbJsonArray::operator[] | ( | unsigned int | index | ) | const |
Value参照用添え字演算子.
本演算子は未サポート。Valueの取得には、Getメソッドを使用してください。
void necbaas::NbJsonArray::PutAll | ( | const std::string & | json | ) |
全データセット.
Json文字列をParseしてNbJsonArray内のデータを再構築する。元々存在していたデータは破棄される。
Json Parseに失敗した場合は、空のJson配列が生成される。
[in] | json | Json文字列 |
|
inline |
全データセット(リスト形式).
Json配列に設定するデータ型が全て同じ場合に使用可能。
STLコンテナからNbJsonArray内のデータを再構築する。元々存在していたデータは破棄される。
入力データとして使用可能な型は以下の通り。
[in] | container | STLコンテナ |
bool necbaas::NbJsonArray::PutJsonArray | ( | unsigned int | index, |
const NbJsonArray & | json_array | ||
) |
Json配列設定.
Indexに対応するValueをNbJsonArray型で設定する。 IndexにUINT_MAXが設定された場合はfalseを返す。
[in] | index | Index |
[in] | json_array | Value |
true | 処理成功 |
false | 処理失敗 |
bool necbaas::NbJsonArray::PutJsonObject | ( | unsigned int | index, |
const NbJsonObject & | json_object | ||
) |
Jsonオブジェクト設定.
Indexに対応するValueをNbJsonObject型で設定する。 IndexにUINT_MAXが設定された場合はfalseを返す。
[in] | index | Index |
[in] | json_object | Value |
true | 処理成功 |
false | 処理失敗 |
bool necbaas::NbJsonArray::PutNull | ( | unsigned int | index | ) |
null設定.
Indexに対応するValueにnullを設定する。 IndexにUINT_MAXが設定された場合はfalseを返す。
[in] | index | Index |
true | 処理成功 |
false | 処理失敗 |
void necbaas::NbJsonArray::Remove | ( | unsigned int | index | ) |
Index削除.
Indexに対応するValueを削除する。 削除されたIndex以降のデータは詰めて再設定される。
[in] | index | Index |
void necbaas::NbJsonArray::Replace | ( | const Json::Value & | value | ) |
[内部処理用]
std::string necbaas::NbJsonArray::ToJsonString | ( | ) | const |
Json文字列変換.
設定されているJson配列をJson文字列に変換する。