问题描述
我正在尝试为JsonCpp编写包装器。我的包装器必须具有以下功能
Parse(const string& input)
GetString(string& output, const string name, bool optional = true)
SetString(const string& value, const string name, bool optional = true)
GetObject(const string& objectName)
我打电话给我的包装类Parser
class Parser
{
private:
Json::Value mJsonObject;
public:
bool Parse(const string& input);
bool GetString(string& output, const string name, bool optional = true);
bool SetString(const string& value, const string name, bool optional = true);
Parser& GetObject(const string& objectName);
};
在我想写的代码中:
void foo()
{
Parser::GetObject("IN").GetObject("Params").SetString("Param1", "this is json");
}
通过调用这个我想创建以下 JSON
{
"IN" : {
"Params" : {
"Param1":"this is json"
}
}
}
问题
我必须如何实施GetObject
和SetString
运作才能获得预期的结果?