web-dev-qa-db-ja.com

QMLでのJSONの解析

関連するQtドキュメントは this である必要があります。しかし、QMLについては触れていません。しかし、ネット上の多くの場所で、QML JSのJSON.parseなどの関数の使用法を見つけました。そのような機能はありますか?どのように使用しますか?

ドキュメンテーションへのリンクをお願いするだけですが、それはここではトピック外と見なされます。

8
Stefan Monov

QMLは、特にQMLにいくつかの変更を加えたECMAScript( link )に基づいた環境を提供するため、QMLでのJSONの解析は JavascriptでのJSON の解析と同じです。

したがって、組み込みのJSON.parse()関数を使用できます。次の例はQMLで可能です。

import QtQuick 2.7
import QtQuick.Window 2.2

Window {
    visible: true
    width: 640
    height: 480
    title: qsTr("Hello World")

    Component.onCompleted: {
        var JsonString = '{"a":"A whatever, run","b":"B fore something happens"}';
        var JsonObject= JSON.parse(JsonString);

        //retrieve values from JSON again
        var aString = JsonObject.a;
        var bString = JsonObject.b;

        console.log(aString);
        console.log(bString);
    }
}

そして、これがQtドキュメントがこの特定の関数について何も述べていない理由です:

標準のECMAScriptビルトインは、QMLドキュメントに明示的に記載されていません。それらの使用の詳細については、ECMA-262第5版標準、またはW3Schools JavaScriptリファレンス(JavaScriptオブジェクトリファレンスセクション)などの多数のオンラインJavaScriptリファレンスおよびチュートリアルサイトの1つを参照してください。

ソース

17
DuKes0mE