扩展一个jquery mappingJSON 映射方法
来源:互联网 发布:java 类构造器 编辑:程序博客网 时间:2024/06/05 21:02
最近在做一个项目时,大量的用到JSON数据格式与服务端进行交互,但是遇到一个问题服务端一修改JSON key , 于是客户端也需要进行修改,如果多个地方使用就要改多处。于是想到是不是有成熟的JSON映射方法,去搜了一下也没有找到合适方法,所以只能自己写了一个jquery 扩展jsonMapping方法,使用是没有问题,但是在效率上是否能提高,记各位多指点。
//extend jquery 'mappingJSON' method
$.extend({
/** "mappingJSON"
* data: need to mapping of the original data
* rule: mapping rule
* container: store mapping after data
**/
mappingJSON: function (data, rule, container) {
for (var i = 0; i < data.length; i++) {
var temp = { };
var item = data[i];
for (var key in item) {
var newKey = rule[key] || key;
if ($.type(item[key]) === "array" && item[key].length > 0) {
temp[newKey] = [];
this.mappingJSON(item[key], rule, temp[newKey]);
} else {
temp[newKey] = item[key];
}
}
container.push(temp);
}
return container;
}
});
考虑到JSON是一个树结构所以运用到递归算法
方法使用:
var rule = { MenuId: "id", MenuName: "name", Url: "menu_url", Children: "children" }; //映射规则 key:服务端字段 value:客户端字段
var d = $.mappingJSON(data, rule, []); 参数1: 映射的数据, 参数2:映射规则, 参数三:临时存放的容器
mappingJSON 方法是一个深度拷贝方法,所以不用担心会改变data的key属性
- 扩展一个jquery mappingJSON 映射方法
- 为JQuery扩展一个对象方法
- jquery自定义扩展方法
- Jquery扩展方法
- Jquery扩展方法
- 给jquery扩展方法
- jquery 方法扩展
- jquery String扩展方法
- jquery添加扩展方法
- jquery扩展方法
- jQuery extend 扩展方法
- Jquery 扩展方法
- Jquery 扩展方法
- jquery 扩展方法
- jquery扩展方法
- jQuery扩展方法
- jQuery扩展函数方法
- jquery扩展方法
- 基于MapReduce的频繁项集挖掘方法
- Android入门(5) 读写文件
- Domain Socket
- POJ1797 道路可承受的最大重量(单源最短路径变形)
- 使用JDK中的Proxy技术实现AOP功能
- 扩展一个jquery mappingJSON 映射方法
- sql server触发器
- 中国软件离岸外包的课题和期待(读书笔记)
- 内核编译(三)
- 解决document.form.submit()对象不支持此属性或方法
- 表单的基本使用
- Java实现二维码(QRCode)的编码和解码
- android自动化测试之robotium初探
- PHP团队开发和基于xdebug进行多人远程调试 for eclipse phpstorm