QML et JSON: l'accès à un champ spécifié dans une variable

0

La question

J'ai besoin d'accéder à une chaîne Json à l'intérieur de mon code qml, maintenant, si le terrain est connu, c'est facile.

Étant donné {"c1":320, "c2":256, "c3":128}

Je peux

function getC1(jsonstr)
{
   const obj = JSON.parse(jsonstr);
   return obj.c1;
}

Mais que faire si je ne sais pas à l'avance le champ de l'accès et de l'avoir dans une variable.

comme obj["c1"] ou obj[variable] syntaxes ne sont pas de travail. Est-il possible?

javascript json qml qt
2021-10-26 07:31:22
1

La meilleure réponse

0

Je suis en désaccord avec votre affirmation que ces autres méthodes vous avez essayé ne fonctionnent pas. Voici ce que j'ai fait:

    property string json: '{"c1":320, "c2":256, "c3":128}'

    function getC1(jsonstr)
    {
        const obj = JSON.parse(jsonstr);
        const key = "c1";
        console.log(obj.c1);
        console.log(obj["c1"]);
        console.log(obj[key]);
    }

    Component.onCompleted:
    {
        getC1(json);
    }

Et voici le résultat:

qml: 320
qml: 320
qml: 320

Donc tous les 3 méthodes de produire le résultat désiré.

2021-10-26 14:01:41

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................