NEC mBaaS Embedded SDK  6.2.0
 全て クラス ネームスペース ファイル 関数 変数 列挙型 列挙型の値
Public メソッド | すべてのメンバ一覧
クラス necbaas::NbJsonArray

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 ( )

コンストラクタ.

necbaas::NbJsonArray::NbJsonArray ( const std::string &  json_string)
explicit

コンストラクタ.

Json文字列をParseしてNbJsonArrayを生成する。
Json Parseに失敗した場合は、空のJson配列が生成される。

引数
[in]json_stringJson文字列
necbaas::NbJsonArray::~NbJsonArray ( )

デストラクタ.

関数

template<typename T >
bool necbaas::NbJsonArray::Append ( value)
inline

配列末尾に追加.

配列の末尾にValueを設定する。 設定可能なValueの型は以下

  • int, unsigned int,
  • int64_t, uint64_t,
  • double
  • bool
  • std::string

NbJsonObject, NbJsonArray の設定は、 AppendJsonObject(), AppendJsonArray() を使用すること。

既に配列のサイズが最大値に達している場合はfalseを返す。

引数
[in]valueValue
戻り値
処理結果
戻り値
true処理成功
false処理失敗
bool necbaas::NbJsonArray::AppendJsonArray ( const NbJsonArray json_array)

配列末尾に追加(Json配列).

配列の末尾にJson配列を設定する。
既に配列のサイズが最大値に達している場合はfalseを返す。

引数
[in]json_arrayValue
戻り値
処理結果
戻り値
true処理成功
false処理失敗
bool necbaas::NbJsonArray::AppendJsonObject ( const NbJsonObject json_object)

配列末尾に追加(Jsonオブジェクト).

配列の末尾にJsonオブジェクトを設定する。
既に配列のサイズが最大値に達している場合はfalseを返す。

引数
[in]json_objectValue
戻り値
処理結果
戻り値
true処理成功
false処理失敗
bool necbaas::NbJsonArray::AppendNull ( )

配列末尾に追加(null).

配列の末尾にnullを設定する。
既に配列のサイズが最大値に達している場合はfalseを返す。

戻り値
処理結果
戻り値
true処理成功
false処理失敗
void necbaas::NbJsonArray::Clear ( )

全データ削除.

全ての配列を削除する。

template<typename T >
void necbaas::NbJsonArray::GetAllBoolean ( T *  out_container,
bool  default_value = false 
) const
inline

真偽値リスト取得.

Json配列に設定されたデータ型が全て真偽値型の場合に使用可能。
以下の場合は、該当Indexにdefault_valueを設定する。

  • Valueが真偽値型でない

OUTパラメータとして使用可能な型は以下の通り。

  • コンテナ : std::vector<bool>, std::list<bool>
    引数
    [out]out_containerSTLコンテナ。nullptrの場合は処理を行わない。
    [in]default_value取得できなかったときに設定する値
template<typename T >
void necbaas::NbJsonArray::GetAllDouble ( T *  out_container,
double  default_value = 0.0 
) const
inline

浮動小数点値リスト取得.

Json配列に設定されたデータ型が全て数値型の場合に使用可能。
以下の場合は、該当Indexにdefault_valueを設定する。

  • Valueが数値型でない

OUTパラメータとして使用可能な型は以下の通り。

  • コンテナ : std::vector<double>, std::list<double>
    引数
    [out]out_containerSTLコンテナ。nullptrの場合は処理を行わない。
    [in]default_value取得できなかったときに設定する値
template<typename T >
void necbaas::NbJsonArray::GetAllInt ( T *  out_container,
int  default_value = 0 
) const
inline

整数値リスト取得.

Json配列に設定されたデータ型が全て数値型の場合に使用可能。
浮動小数点は丸められる。
以下の場合は、該当Indexにdefault_valueを設定する。

  • Valueが数値型でない
  • Valueがintの範囲外

OUTパラメータとして使用可能な型は以下の通り。

  • コンテナ : std::vector<int>, std::list<int>
    引数
    [out]out_containerSTLコンテナ。nullptrの場合は処理を行わない。
    [in]default_value取得できなかったときに設定する値
template<typename T >
void necbaas::NbJsonArray::GetAllInt64 ( T *  out_container,
int64_t  default_value = 0 
) const
inline

64bit整数値リスト取得.

Json配列に設定されたデータ型が全て数値型の場合に使用可能。
浮動小数点は丸められる。
以下の場合は、該当Indexにdefault_valueを設定する。

  • Valueが数値型でない
  • Valueがint64_tの範囲外

OUTパラメータとして使用可能な型は以下の通り。

  • コンテナ : std::vector<int64_t>, std::list<int64_t>
    引数
    [out]out_containerSTLコンテナ。nullptrの場合は処理を行わない。
    [in]default_value取得できなかったときに設定する値
template<typename T >
void necbaas::NbJsonArray::GetAllString ( T *  out_container,
const std::string &  default_value = "" 
) const
inline

文字列リスト取得.

Json配列に設定されたデータ型が全て文字列型の場合に使用可能。
以下の場合は、該当Indexにdefault_valueを設定する。

  • Valueが文字列型でない

OUTパラメータとして使用可能な型は以下の通り。

  • コンテナ : std::vector<std::string>, std::list<std::string>
    引数
    [out]out_containerSTLコンテナ。nullptrの場合は処理を行わない。
    [in]default_value取得できなかったときに設定する値
bool necbaas::NbJsonArray::GetBoolean ( unsigned int  index,
bool  default_value = false 
) const

真偽値取得.

Indexに対応するValueをbool型で取得する。
以下の場合は、default_valueを返却する。

  • Indexに対応するValueが存在しない
  • Valueが真偽値型でない
    引数
    [in]indexIndex
    [in]default_value取得できなかったときに返す値
    戻り値
    Value
double necbaas::NbJsonArray::GetDouble ( unsigned int  index,
double  default_value = 0.0 
) const

浮動小数点値取得.

Indexに対応するValueをdouble型で取得する。
以下の場合は、default_valueを返却する。

  • Indexに対応するValueが存在しない
  • Valueが数値型でない
    引数
    [in]indexIndex
    [in]default_value取得できなかったときに返す値
    戻り値
    Value
int necbaas::NbJsonArray::GetInt ( unsigned int  index,
int  default_value = 0 
) const

整数値取得.

Indexに対応するValueをint型で取得する。
浮動小数点は丸められる。
以下の場合は、default_valueを返却する。

  • Indexに対応するValueが存在しない
  • Valueが数値型でない
  • Valueがintの範囲外
    引数
    [in]indexIndex
    [in]default_value取得できなかったときに返す値
    戻り値
    Value
int64_t necbaas::NbJsonArray::GetInt64 ( unsigned int  index,
int64_t  default_value = 0 
) const

64bit整数値取得.

Indexに対応するValueをint64_t型で取得する。
浮動小数点は丸められる。
以下の場合は、default_valueを返却する。

  • Indexに対応するValueが存在しない
  • Valueが数値型でない
  • Valueがint64_tの範囲外
    引数
    [in]indexIndex
    [in]default_value取得できなかったときに返す値
    戻り値
    Value
NbJsonArray necbaas::NbJsonArray::GetJsonArray ( unsigned int  index) const

Json配列取得.

Indexに対応するValueをNbJsonArray型で取得する。
以下の場合は、空のJson配列を返却する。

  • Indexに対応するValueが存在しない
  • ValueがJson配列型でない
    引数
    [in]indexIndex
    戻り値
    Value
NbJsonObject necbaas::NbJsonArray::GetJsonObject ( unsigned int  index) const

Jsonオブジェクト取得.

Indexに対応するValueをNbJsonObject型で取得する。
以下の場合は、空のJsonオブジェクトを返却する。

  • Indexに対応するValueが存在しない
  • ValueがJsonオブジェクト型でない
    引数
    [in]indexIndex
    戻り値
    Value
unsigned int necbaas::NbJsonArray::GetSize ( ) const

Json配列サイズ取得.

Json配列のサイズを取得する。

戻り値
Json配列サイズ
std::string necbaas::NbJsonArray::GetString ( unsigned int  index,
const std::string &  default_value = "" 
) const

文字列取得.

indexに対応するValueをstd::string型で取得する。
以下の場合は、default_valueを返却する。

  • Indexに対応するValueが存在しない
  • Valueが文字列型でない
    引数
    [in]indexIndex
    [in]default_value取得できなかったときに返す値
    戻り値
    Value
const Json::Value& necbaas::NbJsonArray::GetSubstitutableValue ( ) const

[内部処理用]

NbJsonType necbaas::NbJsonArray::GetType ( unsigned int  index) const

Jsonタイプ取得.

Indexに対応するJsonタイプを取得する。

引数
[in]indexIndex
戻り値
Jsonタイプ
bool necbaas::NbJsonArray::IsEmpty ( ) const

オブジェクト空確認.

Json配列が空かどうかを確認する。

戻り値
確認結果
戻り値
true
falseJson配列に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の型は以下

  • int, unsigned int,
  • int64_t, uint64_t,
  • double
  • bool
  • std::string

NbJsonObject, NbJsonArray の設定は、 PutJsonObject(), PutJsonArray() を使用すること。

使用可能な配列の最大サイズは、UINT_MAXである。UINT_MAX-1を超えるIndexを指定した場合は無視される。

json[0] = 123;
json[10] = "value";
*
引数
[in]indexIndex
戻り値
代入用内部データへの参照
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]jsonJson文字列
template<typename T >
void necbaas::NbJsonArray::PutAllList ( const T &  container)
inline

全データセット(リスト形式).

Json配列に設定するデータ型が全て同じ場合に使用可能。
STLコンテナからNbJsonArray内のデータを再構築する。元々存在していたデータは破棄される。
入力データとして使用可能な型は以下の通り。

  • コンテナ : std::vector, std::list
  • 要素 : int, unsigned int, int64_t, uint64_t, double, bool, std::string
    引数
    [in]containerSTLコンテナ
bool necbaas::NbJsonArray::PutJsonArray ( unsigned int  index,
const NbJsonArray json_array 
)

Json配列設定.

Indexに対応するValueをNbJsonArray型で設定する。 IndexにUINT_MAXが設定された場合はfalseを返す。

引数
[in]indexIndex
[in]json_arrayValue
戻り値
処理結果
戻り値
true処理成功
false処理失敗
bool necbaas::NbJsonArray::PutJsonObject ( unsigned int  index,
const NbJsonObject json_object 
)

Jsonオブジェクト設定.

Indexに対応するValueをNbJsonObject型で設定する。 IndexにUINT_MAXが設定された場合はfalseを返す。

引数
[in]indexIndex
[in]json_objectValue
戻り値
処理結果
戻り値
true処理成功
false処理失敗
bool necbaas::NbJsonArray::PutNull ( unsigned int  index)

null設定.

Indexに対応するValueにnullを設定する。 IndexにUINT_MAXが設定された場合はfalseを返す。

引数
[in]indexIndex
戻り値
処理結果
戻り値
true処理成功
false処理失敗
void necbaas::NbJsonArray::Remove ( unsigned int  index)

Index削除.

Indexに対応するValueを削除する。 削除されたIndex以降のデータは詰めて再設定される。

引数
[in]indexIndex
void necbaas::NbJsonArray::Replace ( const Json::Value &  value)

[内部処理用]

std::string necbaas::NbJsonArray::ToJsonString ( ) const

Json文字列変換.

設定されているJson配列をJson文字列に変換する。

戻り値
Json文字列

このクラスの説明は次のファイルから生成されました: