在级联中解析 JSON
Posted
技术标签:
【中文标题】在级联中解析 JSON【英文标题】:Parsing JSON in Cascades 【发布时间】:2015-07-20 13:10:33 【问题描述】:我是 Blackberry 开发的新手,但我一直停留在 JSON 解析上。我已经学会了如何在 QML 中调用 Web 服务,但我不知道如何解析我获得的 JSON 结果。谁能帮帮我?
提前谢谢你。
我的实际代码:
Button
id: newButton
horizontalAlignment: HorizontalAlignment.Center
verticalAlignment: VerticalAlignment.Center
topMargin: ui.du(3)
text: "Recharge"
appearance: ControlAppearance.Primary
onClicked:
getData()
function getData()
var xmlhttp = new XMLHttpRequest();
var url = "http://sb2.in/AppServices.asmx/getoperator";
xmlhttp.onreadystatechange=function()
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
myFunction(xmlhttp.responseText);
//console.log(xmlhttp.responseText);
xmlhttp.open("GET", url, true);
xmlhttp.send();
function myFunction(response)
var arr = JSON.parse(response);
console.log(response); // (1)
这是我得到的 JSON 响应,打印在 (1) 中:
["CircleID":1,"CircleName":"安得拉 Pradesh","CircleID":4,"CircleName":"Assam","CircleID":5,"CircleName":"Bihar","CircleID":6,"CircleName":"Chennai" ,"CircleID":7,"CircleName":"Delhi","CircleID":8,"CircleName":"Gujarat","CircleID":9,"CircleName":"Himachal 邦","CircleID":10,"CircleName":"哈里亚纳邦"]
如何正确解析这个 JSON 响应?
【问题讨论】:
标记为太宽泛。请阅读how to ask关于 SO 的问题。 @BaCaRoZzo 请告诉我如何解析 qml 中的 json! 这取决于返回的响应。但是,您可以按照here 的说明访问字段。如果字段以逗号分隔,请在其上使用split(',')
。
@BaCaRoZzo 感谢您的回复。我添加了我的 json 响应。我如何解析 json 数组和 json 对象(不同形式的 json)。如果您有任何链接,请评论我。我会学习.....谢谢
我认为this 是您正在寻找的答案。我刚刚在 SO...上搜索了答案...
【参考方案1】:
使用DataSource。
在 QML 顶部添加import bb.data 1.0
attachedObjects: [
DataSource
id: dataSource
source: "http://mywebsite.com"
type: DataSourceType.Json
onDataLoaded:
//data is already parsed!
console.log("Data: " + JSON.stringify(data));
]
onCreationCompleted:
dataSource.load();
将此添加到您的 .pro 文件中LIBS += -lbbdata
【讨论】:
【参考方案2】:谢谢@BaCaRoZzo。
web 服务 & json 解析:
function getCircle()
var xmlhttp = new XMLHttpRequest();
var url = "http://sb2.in/AppServices.asmx/getRecharge";
xmlhttp.onreadystatechange=function()
if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
circleFunction(xmlhttp.responseText);
xmlhttp.open("GET", url, true);
xmlhttp.send();
function circleFunction(circleresponse)
var circle = JSON.parse(circleresponse);
// console.log(circleresponse);// json
for (var k = 0; k< circle.length; k++)
var circles = circle[k];
console.log("CircleName"+circles.CircleID);
console.log("CircleName"+circles.CircleName);
@BaCaRoZzo 链接:javascript how to parse JSON array
【讨论】:
以上是关于在级联中解析 JSON的主要内容,如果未能解决你的问题,请参考以下文章