如何在用户输入的字符串上使用GetString()?(RapidJson)

时间:2018-04-12 02:36:01

标签: c++ json rapidjson

我只是希望能够让用户输入一个字符串,该字符串是特定对象的名称,然后让GetString()返回其字符串。这是我使用...

的JSON文件的一部分
"Rogue Refiner": {
  "name": "Rogue Refiner",
  "power": "3",
  "toughness": "2"
},

这就是我返回我想要的具体值的方式......

Document d;
d.Parse(data.c_str());
d["Rogue Refiner"]["name"].GetString());

我希望能够让用户在命令提示符下输入一个字符串,因为JSON文件有数千个对象,例如" Rogue Refiner"。我以为这会起作用......

Document d;
d.Parse(data.c_str());

std::string stringName;
std::cin >> stringName;
d[stringName]["name"].GetString());

但它不会奏效。错误说"没有操作员" []"匹配这些操作数"。因此,如果有人知道如何让用户输入他们想要找到的对象的名称,那就太棒了。

1 个答案:

答案 0 :(得分:0)

operator[]的{​​{1}}需要Document。请改用const char *