所以我正在为 QML 使用 JSONListModel,我需要帮助来解析这个JSON 文件
这是一个获取在线玩家姓名的 Minecraft 服务器查询。但是,我无法将每个节点添加到我的 List 委托。
这是我的代码:
ListView {
JSON.JSONListModel {
source: "http://minecraft-api.com/v1/players/?server=darkcrest.cf.gs"
query: "$['players'][*]"
id: playerNames
}
anchors.top: players.bottom
anchors.topMargin: units.gu(1)
model: playerNames.model
delegate: Item {
Text {
text: model
}
}
}
如您所见,我有一个查询,它是我要查看的元素的 JSONPath。
我想得到的是球员的名字,一个接一个。我使用通配符来获取所有名称,但是当我将文本的文本设置为模型 ("$['players'][0-x]") 时,我得到:
file:///home/brendan/UTouch-Apps/ServerStatus/JSONListModel/JSONListModel.qml:15:32: QML ListModel: append: value is not an object
这指向该行:
property ListModel model : ListModel { id: jsonModel }
在 JSONListModel.qml 中。
所以,是的,我猜我的路径是错误的。我不知道如何处理数组,例如链接中 JSON 文件中的数组。
如果文件类似于:
{
players: [
"name": "Whatever1234",
"name": "Person987"
]
}
我可以做
text: model.name
但我不能,因为节点没有名字。它们只是价值观。
有人能帮我吗?