J'ai cet objet JSON et je veux accéder à la « durée » et le montrer sur la console en utilisant Qt:Comment accéder à l'élément de JSON en utilisant Qt
{
"kind": "youtube#videoListResponse",
"etag": "\"cbz3lIQ2N25AfwNr-BdxUVxJ_QY/brZ0pmrmXldPPKpGPRM-8I4dDFQ\"",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 1
},
"items": [
{
"kind": "youtube#video",
"etag": "\"cbz3lIQ2N25AfwNr-BdxUVxJ_QY/PkTW6UN9MH0O2kDApjC3penIiKs\"",
"id": "WkC18w6Ys7Y",
"contentDetails": {
"duration": "PT58M21S",
"dimension": "2d",
"definition": "hd",
"caption": "false",
"licensedContent": true,
"projection": "rectangular"
}
}
]
}
Et mon code Qt est la suivante:
{
QJsonDocument jsonResponse = QJsonDocument::fromJson(message);
results = jsonResponse.object();
QJsonValue v1 = results.value("items");
qDebug() << "v1 = " << v1;
QJsonValue v2 = v1.toObject().value("contentDetails");
qDebug() <<"v2 = " << v2;
QString v3 = v2.toObject().value("duration").toString();
qDebug() << "v3 = " << v3;
}
Cependant ma sortie est:
v1 = QJsonValue (tableau, QJsonArray ([{ "contentDetails": { "légende": "false", "définition": "HD", "dimension": "2d "," duration ":" PT58M21S "," licensedContent ": true," projection ":" rectangulaire "}," etag ":" \ "Cbz3lIQ2N25AfwNr-BdxUVxJ_QY/PkTW6UN9MH0O2kDApjC3penIiKs \" », "id": "WkC18w6Ys7Y", "type": "youtube # vidéo"}]))
v2 = QJsonValue (non définie)
v3 = "" Donc, v1 est bien, mais v2 devient indéfini. Que fais-je mal et comment puis-je accéder à l'élément "durée" correctement?