qml 追加 json 流到 listmodel
qml append json stream to listmodel
我想将 JSON 中的答案从 Web 服务器附加到 QML 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":""}]}
除了 z,一切都很好。如果我从列表模型中读取条目,我会得到:
{"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 {
id:agenciesModel
ListElement {
name: "401"
eventListDates :[
ListElement{
date:"jj/mm/aaaa"
}
]
}
ListElement {
name: "402"
eventListDates :[
ListElement{
date:"jj/mm/aaaa"
}
]
}
ListElement {
name: "403"
eventListDates :[
ListElement{
date:"jj/mm/aaaa"
}
]
}
}
var listObjJS = [{"date":"10/10/2019"},
{"date":"10/11/2011"},
{"date":"10/11/2011"},
{"date":"10/11/2011"}
];
for(var j=0;j<listObjJS.length;j++ )
agenciesModel.get(i).eventListDates.append(
{ date : listObjJS[j].toString().split(":")[1]}
);
我想将 JSON 中的答案从 Web 服务器附加到 QML 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":""}]}
除了 z,一切都很好。如果我从列表模型中读取条目,我会得到:
{"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 {
id:agenciesModel
ListElement {
name: "401"
eventListDates :[
ListElement{
date:"jj/mm/aaaa"
}
]
}
ListElement {
name: "402"
eventListDates :[
ListElement{
date:"jj/mm/aaaa"
}
]
}
ListElement {
name: "403"
eventListDates :[
ListElement{
date:"jj/mm/aaaa"
}
]
}
}
var listObjJS = [{"date":"10/10/2019"},
{"date":"10/11/2011"},
{"date":"10/11/2011"},
{"date":"10/11/2011"}
];
for(var j=0;j<listObjJS.length;j++ )
agenciesModel.get(i).eventListDates.append(
{ date : listObjJS[j].toString().split(":")[1]}
);