Страницы

Поиск по вопросам

понедельник, 22 октября 2018 г.

C++: Как распарсить json?

Имеется примерно такая json строка:
{"response":[{"id":210700286,"first_name":"Lindsey","last_name":"Stirling"}]}
Как из неё получить значения firstname и lastname?
string firstname = "Lindsey"; string lastname = "Stirling";


Ответ

Воспользуйтесь какой-нибудь библиотекой, например nlohmann/json
Обратите внимание, что в коде ниже используется удобная запись строковых литералов без экранирования в форме R"(строка, которая может содержать кавычки. круглые скобки являются частью синтаксиса и не относятся к строке)"
#include "json.hpp" using json = nlohmann::json;
int main() { string responseString = R"({"response":[{"id":210700286,"first_name":"Lindsey","last_name":"Stirling"}]})"; json responseJson = json::parse(responseString); json object = responseJson["response"]; string first_name = object[0]["first_name"]; string last_name = object[0]["last_name"]; cout << first_name << endl; cout << last_name << endl; return 0; }
Вот пример работы

Комментариев нет:

Отправить комментарий