如何在英特尔 xdk 的列表视图中动态显示 json 数据

Posted

技术标签:

【中文标题】如何在英特尔 xdk 的列表视图中动态显示 json 数据【英文标题】:how to display json data dynamically in my listview in intel xdk 【发布时间】:2015-07-25 14:42:53 【问题描述】:

我正在使用英特尔 xdk 和 jquery 移动 UI 框架开发混合应用程序。我有 json 数据,我正在尝试在我的列表视图中显示 json 数据,但我不知道如何在我的列表视图中显示 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 数据中获取“标题”,我想在英特尔 xdk 的列表视图中显示这个“标题”,你能告诉我这个“标题”是如何在我的列表视图中显示的吗

【问题讨论】:

在这里回答:***.com/questions/30190123/… 【参考方案1】:

正如 krisrak 指出的那样,这里有回答问题的代码:

https://***.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)

【讨论】:

以上是关于如何在英特尔 xdk 的列表视图中动态显示 json 数据的主要内容,如果未能解决你的问题,请参考以下文章

如何从英特尔 XDK 中删除推送 API?

英特尔 XDK 的云构建如何工作?

无法使用谷歌地图 API JS 在英特尔 xdk 中看到谷歌地图

在英特尔 xdk 上实现 pushwoosh

AJAX,英特尔 XDK 不工作

英特尔 XDK:文件 I/O