|
Solution46
|
JSONドキュメントクラス [詳解]
#include "CJsonDocument.h"


公開メンバ関数 | |
| CJsonDocument (CJson *pcJson=nullptr) noexcept | |
| コンストラクタ [詳解] | |
| virtual | ~CJsonDocument () noexcept |
| デストラクタ [詳解] | |
| virtual bool | IsEmpty () noexcept |
| 空状態取得関数 [詳解] | |
| virtual CJson * | GetRootJson () noexcept |
| ルートJSONクラス取得関数 [詳解] | |
| virtual bool | SetRootJson (CJson *pcJson) noexcept |
| ルートJSONクラス設定関数 [詳解] | |
| virtual CJson * | GetCurrentJson () noexcept |
| カレントJSONクラス取得関数 [詳解] | |
| virtual bool | SetCurrentJson (CJson *pcJson) noexcept |
| カレントJSONクラス設定関数 [詳解] | |
| virtual void | ClearDocument () noexcept |
| クリア関数 [詳解] | |
| virtual bool | CompactDocument () noexcept |
| コンパクト化関数 [詳解] | |
| virtual bool | InputDocument (CStream &rcStream) noexcept |
| JSONドキュメント入力関数 [詳解] | |
| virtual bool | OutputDocument (CStreamOut &rcStreamOut) noexcept |
| JSONドキュメント出力関数 [詳解] | |
| virtual bool | DeleteCurrentJson () noexcept |
| カレントJSONクラス削除関数 [詳解] | |
| virtual bool | GetCurrentPath (CString &rcPath) noexcept |
| カレントパス取得関数 [詳解] | |
| virtual bool | SetCurrentPath (wchar_t const *pszPath) noexcept |
| カレントパス設定関数 [詳解] | |
| virtual bool | GetCurrentSetValue (CString &rcValue, bool bClassName=false, bool bQuotes=true) noexcept |
| カレント設定値文字列取得関数 [詳解] | |
| virtual bool | SetCurrentSetValue (wchar_t const *pszValue) noexcept |
| カレント設定値文字列設定関数 [詳解] | |
| virtual bool | CreatePath (wchar_t const *pszPath) noexcept |
| JSONパス作成関数 [詳解] | |
静的公開メンバ関数 | |
| static bool | GetJsonPath (CString &rcPath, CJson *pcJson) noexcept |
| JSONパス取得関数 [詳解] | |
| static CJson * | FindJsonPath (wchar_t const *pszPath, CJson *pcJson) noexcept |
| JSONパス検索関数 [詳解] | |
| static bool | GetJsonSetValue (CString &rcValue, CJson *pcJson, bool bClassName=false, bool bQuotes=true) noexcept |
| JSON設定値文字列取得関数 [詳解] | |
| static bool | SetJsonSetValue (wchar_t const *pszValue, CJson *&rpcJson) noexcept |
| JSON設定値設定関数 [詳解] | |
| static bool | SetJsonSetValueByStream (CStream &rcStream, CJson *&rpcJson) noexcept |
| JSON設定値ストリーム設定関数 [詳解] | |
| static bool | DeleteJson (CJson *&rpcJson) noexcept |
| JSONクラス削除関数 [詳解] | |
| static bool | CreateJsonPath (wchar_t const *pszPath, CJson *&rpcJson) noexcept |
| JSONパス作成関数 [詳解] | |
| static bool | GetJsonPathList (CString &rcPathList, CJson *pcJson) noexcept |
| JSONパスリスト取得関数 [詳解] | |
静的限定公開メンバ関数 | |
| static EJsonPathToken | InputPathToken (CStream &rcStream, CString &rcString, bool bEqual=false) noexcept |
| JSONパストークン入力関数 [詳解] | |
| static bool | DeleteQuotes (CString &rcString) noexcept |
| JSON文字列二重引用符削除関数 [詳解] | |
限定公開変数類 | |
| CJson * | m_pcJsonRoot |
| ルートJSONクラスポインタ [詳解] | |
| CJson * | m_pcJsonCurrent |
| カレントJSONクラスポインタ [詳解] | |
非公開メンバ関数 | |
| CJsonDocument (CJsonDocument const &)=delete | |
| CJsonDocument & | operator= (CJsonDocument const &)=delete |
|
strongprotected |
JSONパストークン種別列挙体
JSONパストークン種別列挙体です。
| 列挙値 | |
|---|---|
| Invalid |
無効値 |
| Separator |
セパレータ |
| Dot |
ドット |
| DotDot |
二重ドット |
| Name |
名前 |
| Index |
インデックス |
| Equal |
等号 |
| Size |
列挙体サイズ |
CJsonDocument.h の 379 行目に定義があります。
|
explicitnoexcept |
コンストラクタ
コンストラクタです。
| [in] | pcJson | JSONクラスポインタ |
CJsonDocument.cpp の 43 行目に定義があります。
|
virtualnoexcept |
デストラクタ
デストラクタです。
| なし |
CJsonDocument.cpp の 51 行目に定義があります。
参照先 ClearDocument().

|
privatedelete |
|
inlinevirtualnoexcept |
空状態取得関数
空状態取得関数です。
| なし |
CJsonDocument.h の 72 行目に定義があります。
|
inlinevirtualnoexcept |
ルートJSONクラス取得関数
ルートJSONクラス取得関数です。
| なし |
CJsonDocument.h の 86 行目に定義があります。
|
virtualnoexcept |
ルートJSONクラス設定関数
ルートJSONクラス設定関数です。
| [in] | pcJson | JSONクラスポインタ |
CJsonDocument.cpp の 60 行目に定義があります。
参照先 ClearDocument(), m_pcJsonCurrent, m_pcJsonRoot.
参照元 SetCurrentJson().


|
inlinevirtualnoexcept |
カレントJSONクラス取得関数
カレントJSONクラス取得関数です。
| なし |
CJsonDocument.h の 110 行目に定義があります。
|
virtualnoexcept |
カレントJSONクラス設定関数
カレントJSONクラス設定関数です。
| [in] | pcJson | JSONクラスポインタ |
CJsonDocument.cpp の 91 行目に定義があります。
参照先 LibJson::CJson::GetJsonRoot(), m_pcJsonCurrent, m_pcJsonRoot, SetRootJson().

|
virtualnoexcept |
クリア関数
クリア関数です。
| なし |
CJsonDocument.cpp の 131 行目に定義があります。
参照先 m_pcJsonCurrent, m_pcJsonRoot.
参照元 CreatePath(), DeleteCurrentJson(), InputDocument(), SetCurrentSetValue(), SetRootJson(), ~CJsonDocument().

|
virtualnoexcept |
コンパクト化関数
コンパクト化関数です。
| なし |
CJsonDocument.cpp の 140 行目に定義があります。
参照先 LibJson::CJson::CompactJson(), m_pcJsonRoot.

|
virtualnoexcept |
JSONドキュメント入力関数
JSONドキュメント入力関数です。
| [in] | rcStream | 入力ストリーム参照 |
CJsonDocument.cpp の 163 行目に定義があります。
参照先 ClearDocument(), LibJson::CJsonValue::CreateInputJson(), LibJson::CJsonPair::CreateInputJson(), m_pcJsonCurrent, m_pcJsonRoot.
参照元 LibJson::CJsonConfig::Load().


|
virtualnoexcept |
JSONドキュメント出力関数
JSONドキュメント出力関数です。
| [in] | rcStreamOut | 出力ストリーム参照 |
CJsonDocument.cpp の 206 行目に定義があります。
参照先 m_pcJsonRoot, LibJson::CJson::OutputJson().
参照元 LibJson::CJsonConfig::Save().


|
virtualnoexcept |
カレントJSONクラス削除関数
カレントJSONクラス削除関数です。
| なし |
CJsonDocument.cpp の 234 行目に定義があります。
参照先 ClearDocument(), DeleteJson(), m_pcJsonCurrent, m_pcJsonRoot.
参照元 LibJson::CJsonConfigAuto::~CJsonConfigAuto().


|
virtualnoexcept |
カレントパス取得関数
カレントパス取得関数です。
| [out] | rcPath | 文字列クラス参照 |
CJsonDocument.cpp の 259 行目に定義があります。
参照先 GetJsonPath(), m_pcJsonCurrent.
参照元 CreatePath().


|
virtualnoexcept |
カレントパス設定関数
カレントパス設定関数です。
| [in] | pszPath | JSONパス文字列 |
CJsonDocument.cpp の 273 行目に定義があります。
参照先 FindJsonPath(), m_pcJsonCurrent.
参照元 LibJson::CJsonConfigAuto::~CJsonConfigAuto().


|
virtualnoexcept |
カレント設定値文字列取得関数
カレント設定値文字列取得関数です。
| [out] | rcValue | 設定値文字列参照 |
| [in] | bClassName | クラス名取得フラグ |
| [in] | bQuotes | JSON文字列二重引用符なしフラグ |
CJsonDocument.cpp の 297 行目に定義があります。
参照先 GetJsonSetValue(), m_pcJsonCurrent.
参照元 LibJson::CJsonConfigAuto::~CJsonConfigAuto().


|
virtualnoexcept |
カレント設定値文字列設定関数
カレント設定値文字列設定関数です。
| [in] | pszValue | 設定値文字列 |
CJsonDocument.cpp の 311 行目に定義があります。
参照先 ClearDocument(), m_pcJsonCurrent, m_pcJsonRoot, SetJsonSetValue().

|
virtualnoexcept |
JSONパス作成関数
JSONパス作成関数です。
| [in] | pszPath | JSONパス文字列 |
CJsonDocument.cpp の 343 行目に定義があります。
参照先 ClearDocument(), CreateJsonPath(), FindJsonPath(), GetCurrentPath(), LibJson::CJson::GetJsonRoot(), m_pcJsonCurrent, m_pcJsonRoot.
参照元 LibJson::CJsonConfig::Set().


JSONパス取得関数
JSONパス取得関数です。
| [out] | rcPath | JSONパス文字列参照 |
| [in] | pcJson | JSONクラスポインタ |
CJsonDocument.cpp の 390 行目に定義があります。
参照先 LibCommon::CArray< Type >::GetCount(), LibJson::CJson::GetJsonArray(), LibJson::CJson::GetJsonParent(), LibJson::CJson::GetJsonString(), LibJson::CJson::IsJsonArray(), LibJson::CJson::IsJsonPair().
参照元 GetCurrentPath(), GetJsonPathList().


|
staticnoexcept |
JSONパス検索関数
JSONパス検索関数です。
| [in] | pszPath | JSONパス文字列 |
| [in] | pcJson | JSONクラスポインタ |
CJsonDocument.cpp の 519 行目に定義があります。
参照先 Dot, DotDot, LibJson::CJsonArray::GetJsonArray(), LibJson::CJsonContainer::GetJsonElement(), LibJson::CJsonObject::GetJsonObject(), LibJson::CJsonPair::GetJsonPair(), LibJson::CJsonObject::GetJsonPair(), LibJson::CJsonPair::GetJsonValue(), Index, InputPathToken(), Invalid, LibCommon::CStream::IsStreamEnd(), Name, Separator.
参照元 CreatePath(), LibJson::CJsonConfig::Delete(), LibJson::CJsonConfig::Get(), SetCurrentPath().


|
staticnoexcept |
JSON設定値文字列取得関数
JSON設定値文字列取得関数です。
| [out] | rcValue | JSON設定値文字列参照 |
| [in] | pcJson | JSONクラスポインタ |
| [in] | bClassName | JSONクラス名取得フラグ |
| [in] | bQuotes | JSON文字列二重引用符なしフラグ |
CJsonDocument.cpp の 631 行目に定義があります。
参照先 LibCommon::CArray< Type >::GetCount(), LibJson::CJsonContainer::GetJsonContainer(), LibJson::CJsonToken::GetJsonToken(), LibJson::CJson::JsonArray, LibJson::CJson::JsonFixed, LibJson::CJson::JsonNumber, LibJson::CJson::JsonObject, LibJson::CJson::JsonPair, LibJson::CJson::JsonString.
参照元 LibJson::CJsonConfig::Get(), GetCurrentSetValue(), GetJsonPathList().


|
staticnoexcept |
JSON設定値設定関数
JSON設定値設定関数です。
| [in] | pszValue | JSON設定値文字列 |
| [in,out] | rpcJson | JSONクラスポインタ参照 |
CJsonDocument.cpp の 771 行目に定義があります。
参照先 SetJsonSetValueByStream().
参照元 SetCurrentSetValue().


|
staticnoexcept |
JSON設定値ストリーム設定関数
JSON設定値ストリーム設定関数です。
| [in] | rcStream | JSON設定値ストリーム参照 |
| [in,out] | rpcJson | JSONクラスポインタ参照 |
CJsonDocument.cpp の 779 行目に定義があります。
参照先 LibJson::CJsonValue::CreateInputJson(), LibJson::CJsonPair::CreateInputJson(), LibCommon::CArray< Type >::Find(), LibJson::CJson::GetJsonContainer(), LibJson::CJsonContainer::GetJsonElement(), LibJson::CJson::GetJsonPair(), LibJson::CJson::GetJsonParent(), LibJson::CJson::GetJsonValue(), LibJson::CJson::IsJsonArray(), LibJson::CJson::IsJsonContainer(), LibJson::CJson::IsJsonObject(), LibJson::CJson::IsJsonPair(), LibJson::CJsonContainer::SetJsonElement(), LibJson::CJsonPair::SetJsonValue().
参照元 CreateJsonPath(), SetJsonSetValue().


|
staticnoexcept |
JSONクラス削除関数
JSONクラス削除関数です。
| [in,out] | rpcJson | JSONクラスポインタ参照 |
CJsonDocument.cpp の 925 行目に定義があります。
参照先 LibCommon::CArray< Type >::Find(), LibCommon::CArray< Type >::GetCount(), LibJson::CJson::GetJsonContainer(), LibJson::CJson::GetJsonParent(), LibJson::CJson::IsJsonContainer(), LibJson::CJson::IsJsonPair(), LibCommon::CArray< Type >::Remove().
参照元 LibJson::CJsonConfig::Delete(), DeleteCurrentJson().


|
staticnoexcept |
JSONパス作成関数
JSONパス作成関数です。
| [in] | pszPath | JSONパス文字列 |
| [in,out] | rpcJson | JSONクラスポインタ参照 |
CJsonDocument.cpp の 1013 行目に定義があります。
参照先 Dot, DotDot, Equal, LibJson::CJsonContainer::ExtendJsonElementCount(), LibCommon::CArray< Type >::Find(), LibCommon::CArray< Type >::GetCount(), LibJson::CJsonArray::GetJsonArray(), LibJson::CJson::GetJsonArray(), LibJson::CJsonObject::GetJsonObject(), LibJson::CJson::GetJsonObject(), LibJson::CJsonPair::GetJsonPair(), LibJson::CJsonObject::GetJsonPair(), LibJson::CJson::GetJsonPair(), LibJson::CJson::GetJsonParent(), LibJson::CJsonPair::GetJsonValue(), Index, InputPathToken(), Invalid, LibJson::CJson::IsJsonArray(), LibJson::CJson::IsJsonObject(), LibJson::CJson::IsJsonPair(), LibCommon::CStream::IsStreamEnd(), Name, LibCommon::CArray< Type >::Push(), Separator, LibJson::CJson::SetJsonParent(), SetJsonSetValueByStream(), LibJson::CJsonPair::SetJsonValue() (計28項目).
参照元 CreatePath().


|
staticnoexcept |
JSONパスリスト取得関数
JSONパスリスト取得関数です。
| [out] | rcPathList | 文字列クラス参照 |
| [in] | pcJson | JSONクラスポインタ |
CJsonDocument.cpp の 1352 行目に定義があります。
参照先 LibCommon::CString::GetBuffer(), LibCommon::CArray< Type >::GetCount(), LibJson::CJsonContainer::GetJsonContainer(), GetJsonPath(), GetJsonSetValue().

|
staticprotectednoexcept |
JSONパストークン入力関数
JSONパストークン入力関数です。
| [in] | rcStream | 入力ストリーム参照 |
| [out] | rcToken | 文字列クラス参照 |
| [in] | bEqual | 等号許可フラグ |
CJsonDocument.cpp の 1470 行目に定義があります。
参照先 Dot, DotDot, Equal, Index, LibJson::CJsonToken::InputJsonChars(), LibJson::CJsonToken::InputJsonInt(), Invalid, Name, Separator.
参照元 CreateJsonPath(), FindJsonPath().


|
staticprotectednoexcept |
JSON文字列二重引用符削除関数
JSON文字列二重引用符削除関数です。
| [out] | rcString | 文字列参照 |
CJsonDocument.cpp の 1602 行目に定義があります。
|
privatedelete |
|
protected |
ルートJSONクラスポインタ
CJsonDocument.h の 422 行目に定義があります。
参照元 ClearDocument(), CompactDocument(), CreatePath(), DeleteCurrentJson(), InputDocument(), OutputDocument(), SetCurrentJson(), SetCurrentSetValue(), SetRootJson().
|
protected |