我想從Web服務器向QML ListModel附加JSON答案。目前我使用qml將json流附加到listmodel
eventModel.append(jsonObject)
如果答案只包含字符串或數字但如果有答案中的數組,工作正常。我使用here的代碼來獲取JSON對象。
這是答案的一行:
{"i":3814086,"t":"d","s":1479970800,"sw":"Do","sds":"24.11.16","ss":"08:00","e":1479996000,"eds":"24.11.16","es":"15:00","f":false,"z":[{"i":223500,"d":true,"r":"","h":null,"hs":null,"hss":"","he":null,"hes":""}]}
一切都被添加ž旁邊的罰款。如果我從列表模型中讀取條目,我可以得到:
{"objectName":"","i":3814086,"t":"d","s":1479970800,"sw":"Do","sds":"24.11.16","ss":"08:00","e":1479996000,"eds":"24.11.16","es":"15:00","f":false,"z":{"objectName":"","count":1,"dynamicRoles":false}}
它看起來像z中的所有東西都丟失了。我已經試過再次添加它
for(var i in jsonObject){
eventModel.append(jsonObject[i])
eventModel.set(i, {"z":jsonObject[i]["z"]})
}
但結果是一樣的。
是這樣的事情是不可能的,或者當我將這個JSON對象附加到列表模型時,我在這裏做錯了什麼?
'ListModel'包含'ListElement'項目的列表。根據[docs](http://doc.qt.io/qt-5/qml-qtqml-models-listelement.html#details),它只能包含簡單的值 - 「值必須是簡單的常量;字符串,布爾值,數字或枚舉值。您嘗試賦予'z'的值是對象或數組。 – folibis
不好,我沒看到。我猜這裏沒有工作,是嗎?因爲我不知道如何處理JSON,如果我不能將它存儲在ListModel中=( – Sikarjan
如果我做了'eventModel.set(i,{「zn」:jsonObject [i] [「z」] [0] })'zn被添加爲數組,並且我有所有的值。可能二維數組(或者現在的z是什麼)不能被添加到ListModel,但是數組可以工作 – Sikarjan