Keyname не найден в JSON - PullRequest
       10

Keyname не найден в JSON

0 голосов
/ 26 января 2019

Я пытаюсь создать своего собственного бота 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();
    }
...