从Grid 获得 JSON 数据

本文介绍了一个用于从 ExtJS Grid 控件中获取 JSON 数据的实用函数。该函数能够遍历 Grid 中的所有记录,并对每个字段进行转义处理以确保生成的 JSON 字符串符合标准格式。适用于 Web 应用程序中需要导出表格数据为 JSON 的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
* 从Grid 获得 JSON 数据
*
* @param {Object} grid
* @param {Object} colm
*/
function contract_htlist_GetJSON(grid, colm) {
var rowCount = grid.getStore().getCount();
var colCount = colm.getColumnCount();
var JSONArray = new Array();
for (var i = 0; i < rowCount; i++) {
var JSONObjStr = "{";
for (var j = 2; j < colCount; j++) { // 加了个列选择框 j=0 改成 j=2了
// 当前列名
var colName = grid.getColumnModel().getDataIndex(j);
var tempObj = grid.getStore().getAt(i).get(colName);
// tempObj = contract_htlist_dateFormatFun(tempObj);
tempObj = (tempObj + "").replace(/(^\s*)|(\s*$)/g, ""); // 这里
// "/g"
// 为全局替换
tempObj = tempObj.replace(/\\/g, '\\\\');
tempObj = tempObj.replace(/\"/g, '\\\"');
tempObj = tempObj.replace(/\'/g, '\\\'');
// tempObj = tempObj.replace(/\b/g, '\\b');
tempObj = tempObj.replace(/\r/g, '\\r');
tempObj = tempObj.replace(/\n/g, '\\n');
tempObj = tempObj.replace(/\t/g, '\\t');
tempObj = tempObj.replace(/\f/g, '\\f');
if (j == 2) {// 加了个列选择框 j=0 改成 j=2了
JSONObjStr += '' + colName + ':' + '"' + tempObj + '"';
} else {
JSONObjStr += ',' + colName + ':' + '"' + tempObj + '"';
}
}
JSONObjStr += "}";
JSONArray.push(Ext.util.JSON.decode(JSONObjStr));
}
return Ext.util.JSON.encode(JSONArray);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值