123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- #ifndef JSON_FILE_H_
- #define JSON_FILE_H_
- #include "reader.h"
- #include <fstream>
- #define JV_STRING(_json_, _key_, _value_, _default_) (_json_.isMember(_key_) && _json_[_key_].isString()) ? _value_ = _json_[_key_].asString() : _value_ = _default_;
- #define JV_INT(_json_, _key_, _value_, _default_) (_json_.isMember(_key_) && _json_[_key_].isInt()) ? _value_ = _json_[_key_].asInt() : _value_ = _default_;
- #define JV_INT64(_json_, _key_, _value_, _default_) (_json_.isMember(_key_) && _json_[_key_].isInt64()) ? _value_ = _json_[_key_].asInt64() : _value_ = _default_;
- #define JV_UINT(_json_, _key_, _value_, _default_) (_json_.isMember(_key_) && _json_[_key_].isUInt()) ? _value_ = _json_[_key_].asUInt() : _value_ = _default_;
- #define JV_UINT64(_json_, _key_, _value_, _default_) (_json_.isMember(_key_) && _json_[_key_].isUInt64()) ? _value_ = _json_[_key_].asUInt64() : _value_ = _default_;
- #define JV_BOOL(_json_, _key_, _value_, _default_) (_json_.isMember(_key_) && _json_[_key_].isBool()) ? _value_ = _json_[_key_].asBool() : _value_ = _default_;
- #define JV_DOUBLE(_json_, _key_, _value_, _default_) (_json_.isMember(_key_) && _json_[_key_].isDouble()) ? _value_ = _json_[_key_].asDouble() : _value_ = _default_;
- const std::string DEFAULT_STRING = "";
- const int DEFAULT_INT = 0;
- const bool DEFAULT_BOOL = false;
- const double DEFAULT_DOUBLE = 0;
- static bool ReadJsonFile(std::string file, Json::Value &json_data, std::ios_base::openmode mode = std::ios::in | std::ios::binary) {
- std::fstream json_file;
- json_file.open(file.c_str(), mode);
- if(false == json_file.is_open()) {
- return false;
- }
- bool ret = false;
- Json::Reader json_reader;
- ret = json_reader.parse(json_file, json_data);
- json_file.close();
- return ret;
- }
- static bool WriteJsonFile(std::string file, Json::Value &json_data, std::ios_base::openmode mode = std::ios::out | std::ios::trunc) {
- std::fstream json_file;
- json_file.open(file.c_str(), mode);
- if(false == json_file.is_open()) {
- return false;
- }
- json_file << json_data;
- json_file.close();
- return true;
- }
- #endif
|