从服务器响应构造Javascript数组

Constructing Javascript Array from Server Response

本文关键字:Javascript 数组 服务器 响应      更新时间:2023-09-26

我从我的AJAX调用中得到这个数据在服务器内

{jobs:[{Dater:"2010-01-01",INCPU:"1",OUTCPU:"1"},{Dater:"2010-01-02",INCPU:"2",O
UTCPU:"2"},{Dater:"2010-01-03",INCPU:"3",OUTCPU:"3"}]

这是我的AJAX调用

从这个调用,我试图构造这种类型的数组在我的JSP

var MyData = [{date:'2010-01-01',INCPU:"1",OUTCPU:"1"},{date:'2010-01-01',INCPU:"1",OUTCPU:"1"}];
 ****var constructarray =[];****    
 jQuery.ajax({ 
       url: '/HumblFin/Serv', 
       success: function(data) { 
          drawChart(data);
 },
function drawChart(data)
{    
 for(var i = 0 ; i<=data.jobs.length ; i++)
 {
   constructarray .push(data.jobs.Dater[i]);  
   constructarray .push(data.jobs.INCPU[i]);  
   constructarray .push(data.jobs.OUTCPU[i]);  
 }
}

我已经设置了constructarray的警告
但不幸的是只有printling ,,,,,,,,,,,,,,,

有谁能帮帮我吗?

试试:

for(var i = 0 ; i<=data.jobs.length ; i++)
{
  constructarray .push(data.jobs[i].Dater);  
  constructarray .push(data.jobs[i].INCPU);  
  constructarray .push(data.jobs[i].OUTCPU);  
}

我不知道JSP的语法,但是您需要的是将JSON转换为类。这叫做将JSON反序列化为系统对象。
JSP中必须有一些支持来处理JSON,或者您可以使用开放库。例如

http://json-taglib.sourceforge.net/

还可以查看这个示例
http://www.roseindia.net/tutorials/json/json-jsp-example.shtml

不确定这是否是一个错别字,但是你说你得到的JSON数据字符串的格式是不正确的。你少了一个结尾"}"。它应该像下面这样:

{jobs:[{Dater:"2010-01-01",INCPU:"1",OUTCPU:"1"},{Dater:"2010-01-02",INCPU:"2",OUTCPU:"2"},{Dater:"2010-01-03",INCPU:"3",OUTCPU:"3"}]}

其次,您应该使用data.jobs[i].Dater而不是data.jobs.Dater[i]