我正在使用intel xdk和jquery移动框架为UI开发混合应用程序。我有json数据,我试图在listview中显示json数据,但我不知道如何在listview中显示json数据
这是我的json数据
{
"nl_wu":[
{
"id":"42",
"year":"2015",
"month":"jan",
"title":"newsletter",
"file":"http://school.com/sample.pdf"
},
{
"id":"39",
"year":"2015",
"month":"jan",
"title":"imagetest",
"file":"http://school.com/sampleimage.jpg"
}
]
}
我试图通过使用此函数
从URL获取json数据 function showsmsmessage(){
var i;
var out ="";
var json;
var arr ;
var URL ="http://example.com/filename.php";
var xhr = new XMLHttpRequest();
xhr.open("GET", "URL", false);
xhr.onload = function(){
if(xhr.status == 200)
{
var json_string = xhr.responseText;
json = eval ("(" + json_string + ")");
var s = JSON.stringify(json);
arr = $.parseJSON(s);
for(i=0;i<arr.nl_wu.length;i++)
{
out = arr.nl_wu[i];
alert(out.title);
}
}
else if(xhr.status == 404)
{
intel.xdk.notification.alert("Web Service Doesn't Exist", "Error");
}
else
{
intel.xdk.notification.alert("Unknown error occured while connecting to server", "Error");
}
}
xhr.send();
}
我使用上面的JavaScript函数从json数据获得“title”,我想在intel xdk的listview中显示这个“标题”,请你告诉我listview中的这个“标题”
答案 0 :(得分:0)
正如克里斯拉克指出的那样,有代码可以回答这个问题:
https://stackoverflow.com/a/30239006/3476918
但我还应该指出,你不应该将eval用于你正在使用它的目的。使用JSON.parse更简单,更安全,即代替:
var json_string = xhr.responseText;
json = eval ("(" + json_string + ")");
var s = JSON.stringify(json);
arr = $.parseJSON(s);
你应该有这个:
arr = JSON.parse(xhr.responseText)