Necesito acceder a una cadena Json dentro de mi código qml, ahora si se conoce 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, ¿qué sucede si no sé de antemano a qué campo acceder y lo tengo en una variable?
como las sintaxis obj["c1"] u obj[variable] no funcionan. ¿Hay alguna manera?
No estoy de acuerdo con su afirmación de que esos otros métodos que probó no funcionan. Aquí esta lo que 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á la salida:
qml: 320 qml: 320 qml: 320Entonces, los 3 métodos producen el resultado deseado.