如何在intel xdk的listview中动态显示json数据

时间:2015-05-14 05:02:16

标签: intel-xdk jquery-mobile-listview

我正在使用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中的这个“标题”

1 个答案:

答案 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)