如何在用户输入的字符串上使用 GetString()?(RapidJson)
How can I use GetString() on a user inputted string?(RapidJson)
我只想让用户输入一个字符串,该字符串是特定对象的名称,然后让 GetString() return 它的字符串。这是我正在使用的 JSON 文件的一部分...
"Rogue Refiner": {
"name": "Rogue Refiner",
"power": "3",
"toughness": "2"
},
这就是我return我想要的特定值...
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());
但这行不通。错误说 "no operator "[]" 匹配这些操作数"。因此,如果有人知道我如何让用户输入他们想要查找的对象的名称,那就太好了。
operator[]
对应 Document
需要 const char *
。请改用 d[stringName.c_str()]["name"].GetString());
。
我只想让用户输入一个字符串,该字符串是特定对象的名称,然后让 GetString() return 它的字符串。这是我正在使用的 JSON 文件的一部分...
"Rogue Refiner": {
"name": "Rogue Refiner",
"power": "3",
"toughness": "2"
},
这就是我return我想要的特定值...
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());
但这行不通。错误说 "no operator "[]" 匹配这些操作数"。因此,如果有人知道我如何让用户输入他们想要查找的对象的名称,那就太好了。
operator[]
对应 Document
需要 const char *
。请改用 d[stringName.c_str()]["name"].GetString());
。