实现原理:
- 取出key(规则是 以字母下划线组成key,在其后面紧跟": 两个字符)
- 对key进行正则替换
demo描述
a:对象数组
b:将对象数组a,转换成驼峰格式key构成的json串
c: 将驼峰格式key构成的json串转换成下划线格式key的json串
<script>
let a = {
"code": 0,
"message": "OK",
"data": {
"total_num": 137,
"page_size": 10,
"page_num": 1,
"real_time_order_list": [{
"ent_id": "1",
"ent_name": "测试企业01",
"real_time_order_status": 4,
"rule_view_id": "5",
}, {
"ent_id": "2",
"ent_name": "测试企业2",
"real_time_order_status": 4,
"rule_view_id": "7",
"food_info_list": [{
"food_name": "热菜品01",
"total_num": 21,
"total_amount": 1260
}]
}]
}
}
let b = JSON.stringify(a).replace(/(((_[a-z]+)+)\":)/g, function(all, letter) {
return letter.replace(/_(\w)/g, function (childAll, childLetter) {
return childLetter.toUpperCase();
})
})
let c = b.replace(/((([A-Z][a-z]*)+)\":)/g, function(all, letter) {
return letter.replace(/[A-Z]/g, function (child) {
return `_${child.toLowerCase()}`;
})
})
</script>