@Mars36

Как правильно составить POST запрос в JSON формате в QT?

Как должен выглядеть запрос:
{
   "app": "*",
   "time": "2014-11-07T16:21:02+03:00",
   "requests": [
           {
           "func": "r_genres_list",
           "id": "genres_list"
           }
   ]
}

Не получается разобраться тем как оформить данный блок:
"requests": [
           {
           "func": "r_genres_list",
           "id": "genres_list"
           }
   ]

Пробовал так:
QUrl url ( "https://requestbin.net/r/bfeldb43" );
    QByteArray reqdata;
    reqdata.append( "&time=" + QDateTime::currentDateTime().toTimeSpec( Qt::OffsetFromUTC ).toString( Qt::ISODate ) );
    reqdata.append( "&app=1" );
    reqdata.append( "&requests= { \"func\": \"r_genres_list\", \"id\":\"genres_list\"}]" );
    QNetworkRequest request( url  );
    request.setRawHeader(  "jdata", "1" );
    manager->post( request, reqdata );

На выходе получилось
это

6040dd0007750508218082.png

Как я понимаю параметр воспринимается не массивом, а в одну строчку. Как я могу оформить запрос правильно?
  • Вопрос задан
  • 300 просмотров
Решения вопроса 1
IGHOR
@IGHOR Куратор тега Qt
Qt/C++ DEV/CTO
Для этого вам лучше создать QJsonObject либо QVariantMap, заполнить его данными.
А потом сохранить их в QByteArray с помощью QJsonDocument https://doc.qt.io/qt-5/qjsondocument.html
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы