在 QML 中解析 JSON [重复]
Posted
技术标签:
【中文标题】在 QML 中解析 JSON [重复]【英文标题】:Parsing JSON in QML [duplicate] 【发布时间】:2017-06-13 12:19:21 【问题描述】:相关的 Qt 文档应该是 this。但它没有提到 QML。然而,在网上的许多地方,我发现在 QML JS 中使用了像 JSON.parse
这样的函数。有没有这样的功能,如何使用?
我只是要求提供文档链接,但这在这里被认为是题外话。
【问题讨论】:
Qt 中的文档说与 JS 相关的函数不会成为 Qt 文档的一部分,用户应该参考 ECMAScript 文档。 【参考方案1】:在 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 对象参考部分)
Source
【讨论】:
以上是关于在 QML 中解析 JSON [重复]的主要内容,如果未能解决你的问题,请参考以下文章