QML y JSON: el acceso a un campo especificado en una variable

0

Pregunta

Necesito acceder a una cadena Json dentro de mi qml código, ahora si se sabe que el campo es fácil.

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

Puedo

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

Pero, ¿y si no sé de antemano que el campo para el acceso y la tengo en una variable.

como obj["c1"] o obj[variable] sintaxis no están funcionando. Hay una manera?

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

Mejor respuesta

0

No estoy de acuerdo con tu afirmación de que los otros métodos se trató de no trabajo. Aquí es lo que yo hice:

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

Y aquí está el resultado:

qml: 320
qml: 320
qml: 320

Así que todos los 3 métodos de producir la salida deseada.

2021-10-26 14:01:41

En otros idiomas

Esta página está en otros idiomas

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