javascript - 如何根据页面大小拆分json字符串?

标签 javascript jquery arrays json

我是 jquery 的新手,正在努力提高技能。 我从 ajax 调用中得到了 json 字符串。现在我只需要按照网格页面大小来划分即可;

我的逻辑是这样的。

首先我获取了字符串内对象的长度

var _totalLength = returnedData.length;
var _pageSize = 10;
var _totalPageRequired = Math.ceil(returnedData.length / _pageSize);
var array = new Array(_totalPageRequired);

现在我只需要创建一个数组并根据页面大小在其中放置记录即可。

var array = new Array(_totalPageRequired);

现在我运行for循环直到_totalPageRequired

for (var i = 0; i < _totalPageRequired; i++) {
//here i am stucked, i want to know how could i assign
//per array[i] = the required data from the json string
// _totalLength = 43 and _pageSize = 10 therefore totalpagedata required is 5
// for ex:  array[0] = returnedData[from index 0 to 9]
// array[1] = returnedData[from index 10 to 19] and so on
// array[4] = returnedData[from index 40 - 43] as records end 
}

任何人都可以帮我打破这个 json 字符串。

编辑:我的 Json 字符串就像

[{"UserRates":null,"RoleId":2,"Name":"M.Hassaan Khan","RoleName":null,"Password":null,"EmployeeRate":null,"Gender":null,"CategoryId":0,"CategoryName":null,"ClientId":0,"ClientName":null,"UserId":2,"Username":"hassaan09","IsMapped":false,"ProjectId":0,"ProjectName":null,"ProjectTitle":null,"CreationDate":"0001-01-01T00:00:00","ExpectedEndingdate":"0001-01-01T00:00:00","Description":null,"ParentProjectId":0,"Cost":0.0,"Status":false},{"UserRates":null,"RoleId":2,"Name":"Bilawaal","RoleName":null,"Password":null,"EmployeeRate":null,"Gender":null,"CategoryId":0,"CategoryName":null,"ClientId":0,"ClientName":null,"UserId":5,"Username":"test_09","IsMapped":false,"ProjectId":0,"ProjectName":null,"ProjectTitle":null,"CreationDate":"0001-01-01T00:00:00","ExpectedEndingdate":"0001-01-01T00:00:00","Description":null,"ParentProjectId":0,"Cost":0.0,"Status":false},{"UserRates":null,"RoleId":2,"Name":"Zardari","RoleName":null,"Password":null,"EmployeeRate":null,"Gender":null,"CategoryId":0,"CategoryName":null,"ClientId":0,"ClientName":null,"UserId":18,"Username":"register_09","IsMapped":false,"ProjectId":0,"ProjectName":null,"ProjectTitle":null,"CreationDate":"0001-01-01T00:00:00","ExpectedEndingdate":"0001-01-01T00:00:00","Description":null,"ParentProjectId":0,"Cost":0.0,"Status":false},{"UserRates":null,"RoleId":2,"Name":"Nawaz","RoleName":null,"Password":null,"EmployeeRate":null,"Gender":null,"CategoryId":0,"CategoryName":null,"ClientId":0,"ClientName":null,"UserId":30,"Username":"testing111","IsMapped":false,"ProjectId":0,"ProjectName":null,"ProjectTitle":null,"CreationDate":"0001-01-01T00:00:00","ExpectedEndingdate":"0001-01-01T00:00:00","Description":null,"ParentProjectId":0,"Cost":0.0,"Status":false}]

在ajax成功后,我正在执行Json.Parse(data.d),以便将其转换为对象;

最佳答案

试试这个:http://jsfiddle.net/aras7/b83uzccn/1/

var _totalLength = returnedData.length;
var _pageSize = 2;

var array = [];

var page = 0;
for(var i = 0;i < returnedData.length;){
    var page_data = []; 
    for(var j = 0;j < _pageSize && i < returnedData.length;j++) {
        page_data.push(returnedData[i]);
        i++;
    }
    array.push(page_data)
}

关于javascript - 如何根据页面大小拆分json字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26656648/

相关文章:

javascript - 如何将调试器附加到设备? Chrome 扩展

javascript - 为什么 javascript (fluidvids.js) 仅在视频嵌入*之后*加载时才起作用?

javascript - 仅当 JS 直接链接在 <body> 下方和 </body> 上方时,div 的垂直居中才有效?

php - 使用php将数组值设置为变量

javascript - jQuery inArray 与哈希表

javascript - 从 node.js 在 mongodb 中按日期查询

javascript - 将 5 位二进制字符串解码回字符

jquery - 文档准备好后无法选择元素

jquery - 在 Chrome 中查找选择选项中的选项失败,但在 IE 中却可以。为什么?

arrays - 确定给定点是否会创建岛屿