4
相關的Qt文檔應該是this。但它沒有提到QML。然而在網絡上的很多地方,我發現在QML JS中使用了諸如JSON.parse
之類的函數。有沒有這樣的功能,我如何使用它?解析QML中的JSON
我只是要求鏈接到文檔,但這被認爲是題外話。
相關的Qt文檔應該是this。但它沒有提到QML。然而在網絡上的很多地方,我發現在QML JS中使用了諸如JSON.parse
之類的函數。有沒有這樣的功能,我如何使用它?解析QML中的JSON
我只是要求鏈接到文檔,但這被認爲是題外話。
解析QML中的JSON與解析JSON in Javascript沒有什麼不同,因爲QML提供了一個基於ECMAScript(link)的環境,其中特別針對QML進行了一些修改。
因此,您可以使用內置的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版標準或許多在線的JavaScript的參考和指導網站,如W3Schools的JavaScript的參考之一(JavaScript對象參考部分)
Qt中的文檔說JS相關函數不會成爲Qt文檔的一部分,用戶應該參考ECMAScript文檔。 – DuKes0mE