Я пытаюсь написать приложение на C ++ Qt 4.7, которое получает JSON из веб-API. Я немного почитал, и JsonCpp кажется лучшим. Так что я построил это просто найти и добавил его в свой проект просто отлично.
void RetrievingInformationPage::replyFinished(QNetworkReply *reply)
{
Json::Value root;
Json::Reader reader;
bool success = reader.parse(reply->readAll().data(), root);
// here be issues
qDebug() << QString::fromStdString(root["data"][30]["name"].toStyledString());
return;
}
Когда я запускаю этот код, он выводит имя, которое я тестирую (это имя с Юникодом в нем), но специальные символы выводятся как полный бред («à¤? À ¥ लिफ à ¤ ° à ¥ ड "). Юникод представлял собой строку JSON "\ u0915 \ u094d \ u093f \ u092b \ u030d \ u094d \ u0921", затем я предполагаю, что JsonCpp преобразует его в фактические символы Юникода. Я надеялся, что QString :: fromStdString возьмет юникод в std :: string и сохранит его в QString, но явно где-то все портится.
Чего мне не хватает?