Я пытаюсь создать своего собственного бота Telegram в качестве проекта и не хочу использовать какие-либо библиотеки, которые уже выполняют всю тяжелую работу за меня, так как я хочу сделать это для себя, как на ходу самообучение.
Я использую CPPRESTSDK и пытаюсь получить значения из JSON из телеграммы.
Вот пример JSON
{
"ok": true,
"result": [
{
"update_id": 534699960,
"message": {
"message_id": 159183,
"from": {
"id": HIDDEN,
"is_bot": false,
"first_name": "Hawke",
"username": "XXXXXXXX"
},
"chat": {
"id": HIDDEN,
"title": "CHANNEL_NAME_HIDDEN",
"username": "HIDDEN",
"type": "supergroup"
},
"date": 1548427328,
"text": "Nope, at work"
}
}
]
}
Я пытаюсь прочитать текстовое значение, но получаю Keyname, не найденное при попытке получить доступ к результату. Приведенный выше JSON сохраняется в файле после извлечения JSON из телеграммы.
try {
string_t importFile = U("json.txt");
ifstream_t f(importFile);
stringstream_t s;
json::value v;
if (f) {
s << f.rdbuf();
f.close();
v = json::value::parse(s);
auto results_array = v.at(U("result")).as_array();
}
}
catch (web::json::json_exception& excep) {
std::cout << excep.what();
}