</pre>由于框架的问题,获取的json对象属性名是大写,比如Name,与java对象name不对应,所以需要转换为小写。<pre name="code" class="html">var model = $(gridName,currentObj).getRowDataByRowId(rowid); //json对象
//遍历json对象的属性名
for(var key in model){
//首字母为大写的转换,否则跳过
if(/^[A-Z]/.test(key)){
var lowerkey = key.toLowerCase();
//对于带有字符的字段转换,如:CREATE_TIME转成createTime
var location = lowerkey.indexOf("_" );
if(location>0){
var val = lowerkey.substring(location+1,location+2);
lowerkey = lowerkey.replace(new RegExp("_"+val),val.toUpperCase());
}
//赋给新的属性名,删除旧的
model[lowerkey] = model[key];
delete model[key];
}
}
主要用到 字符串对象的toLowerCase(),indexOf(),substring()以及replace()方法。
replace并不是替换原有的字符串,而是会返回一个新的字符串,这个新的才是所需要的。。,第一参数是正则表达式。
还有正则表达式对象 new RegExp("_"+val)或者直接定义:/_T/