m
Қар. 25, 2020, 3:09 Т.Ж.

Отправка JSON

Что то немогу понять в чем дело.(
Отправляю на сервер POST-ом данные. Делаю так

  1. JObj = {
  2. "Array": [
  3. true,
  4. 999,
  5. "string"
  6. ],
  7. "Key": "Value",
  8. "null": null
  9. }
  10.  
  11. id_user - какое-то строковое значение
  12.  
  13. QJsonDocument doc;
  14. doc.setArray(JObj);
  15. QUrlQuery postData;
  16. postData.addQueryItem("data", doc.toJson(QJsonDocument::Compact).toStdString().c_str());
  17. postData.addQueryItem("id_user", QString::number(id_user));
  18.  
  19. QNetworkRequest request;
  20. request.setUrl(QUrl(мой урл));
  21. //request.setHeader(QNetworkRequest::ContentTypeHeader, "application/x-www-form-urlencoded");
  22. request.setHeader(QNetworkRequest::ContentTypeHeader, "application/json");
  23. QNetworkReply* m_reply;
  24. //запрос с данными
  25. m_reply = this->post(request, postData.toString(QUrl::FullyEncoded).toUtf8());

Когда отправляю только id_user все зер гуд.
doc.toJson(QJsonDocument::Compact).toStdString().c_str() - тут вроде получается красивая строчка без лишних экранов. Но результата нет(

2

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

2
Алексей Внуков
  • Қар. 25, 2020, 4:37 Т.Қ.
  1. postData.addQueryItem("data", doc.toJson(QJsonDocument::Compact).toStdString().c_str());

а почему так?
попробуйте эту строку убрать, а эту запись:

  1. {
  2. "Array": [
  3. true,
  4. 999,
  5. "string"
  6. ],
  7. "Key": "Value",
  8. "null": null
  9. }

нужно перенести в QByteArray и уже его передавать вторым параметром в post

    m
    • Қар. 26, 2020, 12:43 Т.Ж.

    Спасибо!

      Пікірлер

      Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
      Кіріңіз немесе Тіркеліңіз