后端返回的数据,根据本地不同的json配置文件,处理成符合格式的数据

我想根据配置文件去把后端返回的数据处理成符合要求的格式
数据不同,配置文件不同,处理数据的方法也应该事不同的,但是一直没想到这种公共的js方法要怎么写才能那么灵活的处理数据,请教各位有没有什么思路

配置文件
{

    "time":"formatTime",
    "name":"changeName",
    "account":"formatAccount",
    "list":"changeList"

}

源数据
var obj={

    time:'1627389488649',
    name:'zhangsan',
    account:'476128378912',
    list:[
        {
            time:'1627389488649',
            age:'19',
            sex:'1',
            name:'lisi'
        },
        {
            time:'1627389488649',
            age:'20',
            sex:'0',
            name:'xiaohua'
        },
        {
            time:'1627389488649',
            age:'21',
            sex:'1',
            name:'daming'
        },
    ]
}

处理之后的数据

var obj1={

    time:'2021-07-27',
    NAME:"zhangsan:476128378912",
    account:'4761*****912',
    list:[
        {
            time:'2021-07-27',
            sex:'男',
            NAME:'lisi'
        },
        {
            time:'2021-07-26',
            sex:'女',
            NAME:'xiaohua'
        },
        {
            time:'2021-07-28',
            sex:'男',
            NAME:'daming'
        }
    ]
}
阅读 1.6k
2 个回答

看描述,是要对所有的接口返回值都进行遍历修改

如果只是修改 value,可以考虑直接用 JSON.parse 的第二个 callback 参数,根据key处理值。

但是看到输出的结果里面还有 Key 都变成大写的。

这个就只能自己去写个深拷贝遍历整个 JS 对象去处理了。

遍历数据。用个方法修改数据

let data = {
    "time":"formatTime",
    "name":"changeName",
    "account":"formatAccount",
    "list":"changeList"
}
/**
 * @description 更改数据源数据信息
 */
const changeData = (key:string,value:any):void=>{
  // 可以通过key值来对数据进行value的替换,也可以给数据新增一个key&value。具体自己玩
  data[key] = value;
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题