【问题标题】:QML and JSON: access to a field specified in a variableQML 和 JSON:访问变量中指定的字段
【发布时间】:2021-10-26 07:31:22
【问题描述】:

我需要访问我的 qml 代码中的 Json 字符串,现在如果该字段已知很容易。

给定 {"c1":320, "c2":256, "c3":128}

我可以

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

但是如果我事先不知道要访问哪个字段并将其保存在变量中怎么办。

像 obj["c1"] 或 obj[variable] 语法不起作用。有什么办法吗?

【问题讨论】:

    标签: javascript json qt qml


    【解决方案1】:

    我不同意您的说法,即您尝试过的其他方法不起作用。这是我所做的:

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

    这是输出:

    qml: 320
    qml: 320
    qml: 320
    

    所以所有 3 种方法都会产生所需的输出。

    【讨论】:

      猜你喜欢
      • 2023-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多