Javascript 小胡子

Javascript 小胡子,javascript,jquery,json,mustache,zepto,Javascript,Jquery,Json,Mustache,Zepto,我有一个可能非常大的json对象(我无法控制),我试图输出一个json记录列表(在本例中是人),我开始使用Mustache.js,但这个特定json对象的结构让我感到不适 我开始将复杂的对象(每个人的许多细节)解析成一个更简单的对象(只是我实际需要的人的细节)——看起来,我确实做到了,但仍然有胡子问题,我更关心效率 接下来是一个问题——给定一个JSON对象,如 var data = {"totalrows":3,"autoinc":4,"rows":{ "1":[{"name":"age

我有一个可能非常大的json对象(我无法控制),我试图输出一个json记录列表(在本例中是人),我开始使用Mustache.js,但这个特定json对象的结构让我感到不适

我开始将复杂的对象(每个人的许多细节)解析成一个更简单的对象(只是我实际需要的人的细节)——看起来,我确实做到了,但仍然有胡子问题,我更关心效率

接下来是一个问题——给定一个JSON对象,如

var data = {"totalrows":3,"autoinc":4,"rows":{    
"1":[{"name":"agent","value":"Bill Summers"},{"name":"firstname","value":"Mike"{"name":"lastname","value":"Goldberg"},{"name":"companyname","value":"Vandelay Industries"},{"name":"department","value":"Import Export"}],
"2":[{"name":"agent","value":"Mark Jacobs"},{"name":"firstname","value":"John"},{"name":"lastname","value":"Stewart"},{"name":"companyname","value":"Vandelay Industries"},{"name":"department","value":"Sales"},],
"3":[{"name":"agent","value":"Heidi Floss"},{"name":"firstname","value":"Stuart"},{"name":"lastname","value":"Manning"},{"name":"companyname","value":"Vandelay Industries"},{"name":"department","value":"Accounts"}]
}
}
这里是我所采取的方法的一个例子——同样——需要实际的结果,以及关于这类事情的最佳实践的一些建议

这就是我绊倒的地方

您将如何输出这样的列表

  • 迈克·戈德伯格:进出口,范德雷工业
  • 约翰·斯图尔特:销售,范德雷工业
  • 斯图尔特·曼宁:会计,范德雷工业

TIA

在处理这样的大型对象时,您可能希望考虑分页。您当然不想查看整组行

换言之,要获取要显示的特定行集,请执行以下操作:

var data = yourData; //your JSON

resultsPerPage = 20;
currentPage = 2; // for example (starts from 1)

start = 1 + (currentPage*resultsPerPage) - resultsPerPage;
end = currentPage * resultsPerPage;

resultsToDisplay = [];
for(i=start; i<=end; i++){
    resultsToDisplay.push(data.rows[i]);
}
var data=yourData//你的JSON
结果每页=20;
currentPage=2;//例如(从1开始)
开始=1+(当前页面*结果每页)-结果每页;
结束=当前页面*结果每页;
结果显示=[];

对于(i=开始,谢谢),我肯定会考虑的,虽然不能解决我的模板。issue@sauldraws这个编辑对你更有帮助吗?我在尝试,但你的问题有点宽泛;)如果您在我的原始帖子中提到JSFIDLE——我特别想利用胡须模板——我不想让这个问题变得更复杂broad@sauldraws哦,对不起,我一定是忽略了这一点。如果你愿意,我将删除我的帖子。好吧,那当然是一种享受。。做了,做了。。
resultsToDisplay.each(function(result){
    output = result.get('firstname') + " " + result.get('lastname') + ": " + result.get('department') + ", " + result.get('companyname') + "<br/>"; 
    $('#yourOutputDiv').html().append(output);
});