从不带数组名称的 QJsonarray 获取 QJsonObjects



我是QT的新手,我创建了一个HTTP服务器,服务器将在Windows上运行,客户端在android上运行,服务器将获得JSON格式的POST请求和响应,如下所示:

Json 响应:

[
     {         
    "FName": "fname",
    "LName": "lname",
    "MobileNo": 0000000000000,
    "Passwd": "a56df67a6sd8fa9ds8f0ads89f8asd7f",
    "UserName": "testexample",
    "authority": 3,
    "id": 10,
    "images": "/files/team1.jpg"
},
{
    "FName": "super",
    "LName": "visor",
    "MobileNo": 1111111111111,
    "Passwd": "78ad78af97sd89f7a9sd7f9as7df8asd7f",
    "UserName": "supervisor",
    "authority": 2,
    "id": 11,
    "images": "/files/team1.jpg"
}]

服务器代码:

   QJsonDocument  json;
  QJsonArray     recordsArray;
  while(query.next())
  {
     QJsonObject recordObject;
        for(int x=0; x < query.record().count(); x++)
        {
            recordObject.insert( query.record().fieldName(x),QJsonValue::fromVariant(query.value(x)) );
        }
     recordsArray.push_back(recordObject);
  }
  json.setArray(recordsArray);
  return json.toJson();

如何从所有动态对象中获取FName,LName。我想使用Qt类,因为我正在Qt中为Android创建客户端。

我在视窗上使用QT5.9.2任何例子.....

解决方案:

QJsonDocument doc = QJsonDocument::fromJson(json.toJson());
QJsonArray ary = doc.array();
foreach (const QJsonValue & value, ary) 
{
    QJsonObject obj = value.toObject();
    qDebug() <<"test: "<< obj["FName"].toString();
}

最新更新