阅读数:

json数据key映射

0

说明

有时候我们会遇到这样的场景,json数组中,源头数据key不是我们最终想要的,比如我们项目遇到数据同步的问题,
提供方的字断属性名和我们有出入,如何统一到我们最终想要的结果呢,现在抛砖一种解析方法

实现

目标:

1
2
3
4
5
6
7
8
9
{
"a":"test",
"aa":"test"
}
==>
{
"b":"test",
"bb":"test"
}

key转小写(可省略)

1
2
3
4
5
6
for (var key in data) {
data[key.toLowerCase()] = data[key];
if (key.toLowerCase() != key) {
delete(data[key]);
}
}

新建字段映射

1
2
3
4
5
6
var keyconfig = [
{"destkey": "b", "originkey": "a"},
{"destkey": "bb", "originkey": "aa"},
{"destkey": "bbb", "originkey": "aaa"}
]

映射

1
2
3
4
5
6
7
8
9
10
var temp;
for (var originkey in data) {
temp = keyconfig.filter((item)=> {
return item.originkey == originkey;
})[0];
data[temp.destkey] = data[originkey];
if (temp.destkey != originkey) {
delete(data[originkey]);
}
}

测试

test


^-^欢迎回复交流^-^


0
赏点咖啡钱^.^