Вот пример фид, который я хотел бы разобрать: https://gdata.youtube.com/feeds/api/users/aniBOOM/subscriptions?v=2&alt=jsonСинтаксических данные YouTube с C++ и Jsoncpp
Вы можете проверить это с http://json.parser.online.fr/, чтобы увидеть, что она содержит.
У меня есть небольшая проблема при анализе фида данных, предоставляемого youtube. Первая проблема заключалась в том, что youtube предоставил данные, завернутые в поле фида, и из-за этого я не смог разобрать имя пользователя прямо из исходного json-файла, поэтому мне пришлось анализировать первое поле ввода и генерировать новые данные Json из этого.
В любом случае проблема заключается в том, что по какой-то причине это не включает в себя больше, чем первое имя пользователя, и я не знаю, почему, потому что если вы проверяете этот канал на онлайн-парсере, запись должна содержать все имена пользователей.
`
data = value["feed"]["entry"];
Json::StyledWriter writer;
std::string outputConfig = writer.write(data);
//This removes [ at the beginning of entry and also last ] so we can treat it as a Json data
size_t found;
found=outputConfig.find_first_of("[");
int sSize = outputConfig.size();
outputConfig.erase(0,1);
outputConfig.erase((sSize-1),sSize);
reader.parse(outputConfig, value2, false);
cout << value2 << endl;
Json::Value temp;
temp = value2["yt$username"]["yt$display"];
cout << temp << endl;
std::string username = writer.write(temp);
int sSize2 = username.size();
username.erase(0,1);
username.erase((sSize2-3),sSize2);
` Но по какой-то причине [] исправить также разрезает данные я генерирующий, если я распечатать данные без удаления [] Я могу видеть всех пользователей, но в этом случае Я не могу извлечь temp = value2 ["yt $ username"] ["yt $ display"];
Да я не знаю, что можно рассматривать как массив ... Ваш пример полностью решена моя проблема. Спасибо огромное! – Mare