NEC mBaaS Embedded SDK  6.2.0
 全て クラス ネームスペース ファイル 関数 変数 列挙型 列挙型の値
nb_json_object.h
説明を見る。
1 /*
2  * COPYRIGHT (C) 2017 NEC CORPORATION
3  *
4  * ALL RIGHTS RESERVED BY NEC CORPORATION, THIS PROGRAM
5  * MUST BE USED SOLELY FOR THE PURPOSE FOR WHICH IT WAS
6  * FURNISHED BY NEC CORPORATION, NO PART OF THIS PROGRAM
7  * MAY BE REPRODUCED OR DISCLOSED TO OTHERS, IN ANY FORM
8  * WITHOUT THE PRIOR WRITTEN PERMISSION OF NEC CORPORATION.
9  *
10  * NEC CONFIDENTIAL AND PROPRIETARY
11  */
12 
13 #ifndef NECBAAS_NBJSONOBJECT_H
14 #define NECBAAS_NBJSONOBJECT_H
15 
16 #include <string>
17 #include <json/json.h>
18 #include "necbaas/nb_json_type.h"
19 
20 namespace necbaas {
21 
22 // 相互参照のため
23 class NbJsonArray;
24 
34 class NbJsonObject {
35  public:
39  NbJsonObject();
40 
47  explicit NbJsonObject(const std::string &json_string);
48 
55  explicit NbJsonObject(const std::vector<char> &json_char);
56 
60  virtual ~NbJsonObject();
61 
68  bool PutAll(const std::string &json);
69 
74  std::vector<std::string> GetKeySet() const;
75 
88  int GetInt(const std::string &key, int default_value = 0) const;
89 
102  int64_t GetInt64(const std::string &key, int64_t default_value = 0) const;
103 
114  double GetDouble(const std::string &key, double default_value = 0.0) const;
115 
126  bool GetBoolean(const std::string &key, bool default_value = false) const;
127 
138  std::string GetString(const std::string &key, const std::string default_value = "") const;
139 
149  NbJsonObject GetJsonObject(const std::string &key) const;
150 
160  NbJsonArray GetJsonArray(const std::string &key) const;
161 
169  const Json::Value &GetSubstitutableValue() const;
170 
191  Json::Value &operator[](const std::string &key);
192 
197  const Json::Value &operator[](const std::string &key) const;
198 
206  void PutJsonObject(const std::string &key, const NbJsonObject &json_object);
207 
215  void PutJsonArray(const std::string &key, const NbJsonArray &json_array);
216 
223  void PutNull(const std::string &key);
224 
230  unsigned int GetSize() const;
231 
239  bool IsEmpty() const;
240 
248  bool IsMember(const std::string &key) const;
249 
257  NbJsonType GetType(const std::string &key) const;
258 
264  void Remove(const std::string &key);
265 
270  void Clear();
271 
277  std::string ToJsonString() const;
278 
286  void Replace(const Json::Value &value);
287 
291  bool operator==(const NbJsonObject &other) const;
292 
293  protected:
294  Json::Value value_;
295 };
296 } // namespace necbaas
297 #endif // NECBAAS_NBJSONOBJECT_H
bool GetBoolean(const std::string &key, bool default_value=false) const
真偽値取得.
void PutNull(const std::string &key)
null設定.
int GetInt(const std::string &key, int default_value=0) const
整数値取得.
void PutJsonArray(const std::string &key, const NbJsonArray &json_array)
Json配列設定.
NbJsonObject()
コンストラクタ.
void Replace(const Json::Value &value)
[内部処理用]
void Remove(const std::string &key)
Key削除.
double GetDouble(const std::string &key, double default_value=0.0) const
浮動小数点値取得.
NbJsonType GetType(const std::string &key) const
Jsonタイプ取得.
virtual ~NbJsonObject()
デストラクタ.
std::string GetString(const std::string &key, const std::string default_value="") const
文字列取得.
const Json::Value & GetSubstitutableValue() const
[内部処理用]
NbJsonObject GetJsonObject(const std::string &key) const
Jsonオブジェクト取得.
void Clear()
全データ削除.
void PutJsonObject(const std::string &key, const NbJsonObject &json_object)
Jsonオブジェクト設定.
NbJsonType
Json値のタイプ.
Definition: nb_json_type.h:21
Json::Value & operator[](const std::string &key)
Value設定用添え字演算子.
bool PutAll(const std::string &json)
全データセット.
bool operator==(const NbJsonObject &other) const
==演算子.
std::string ToJsonString() const
Json文字列変換.
Jsonオブジェクト.
Definition: nb_json_object.h:34
unsigned int GetSize() const
サイズ取得.
bool IsMember(const std::string &key) const
Key存在確認.
int64_t GetInt64(const std::string &key, int64_t default_value=0) const
64bit整数値取得.
NbJsonArray GetJsonArray(const std::string &key) const
Json配列取得.
Json::Value value_
Definition: nb_json_object.h:294
bool IsEmpty() const
オブジェクト空確認.
std::vector< std::string > GetKeySet() const
キーセット取得.
Json配列.
Definition: nb_json_array.h:37