QML e JSON: l'accesso a un campo specificato in una variabile

0

Domanda

Ho bisogno di accedere a una stringa Json all'interno del mio qml codice, ora, se il campo è noto, è facile.

Dato {"c1":320, "c2":256, "c3":128}

Posso

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

Ma cosa succede se non si conosce in anticipo il campo di accesso e sono in una variabile.

come obj["c1"] o obj[variabile] sintassi non funziona. C'è un modo?

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

Migliore risposta

0

Io non sono d'accordo con la tua affermazione che gli altri metodi hai provato e non funziona. Ecco cosa ho fatto:

    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);
    }

E qui è l'output:

qml: 320
qml: 320
qml: 320

Così tutti e 3 i metodi di produrre l'output desiderato.

2021-10-26 14:01:41

In altre lingue

Questa pagina è in altre lingue

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