将json-bigint处理为数值分区数组的字段全部自动转为字符串

json-bigint虽然能帮我们处理好id
将json-bigint处理为数值分区数组的字段全部自动转为字符串_第1张图片
但 他的模式 显然不是直接可以用的
我们如果要到业务逻辑单独处理 那就太麻烦了 对系统也非常不友好

我们可以在vue项目中 src目录下创建一个utils
下面创建一个conversionLong.js 这个名字大家随便取
参考代码如下

var data = {};
const Branchprocessing = (JsonFd) => {
    switch (typeof JsonFd) {
    case 'object':
        IntroductionTypeProcessing(JsonFd);
        break;
    default:
        return;
    }
}
function isNumber(value) {
    return typeof value === 'number';
}
const IntroductionTypeProcessing = (JsonFd) => {
    for (let key in JsonFd) {
        const proxy = JsonFd[key];
        if( proxy.c && proxy.e && proxy.s 
            && Number(proxy.e) && Number(proxy.s) && proxy.c.every(isNumber)) {
                JsonFd[key] = proxy.c.join('');
        }else{
            Branchprocessing(JsonFd[key]);
        }
    }
}

export default (JsonFd)=> {
    data = JsonFd;
    Branchprocessing(data);
    return data;
}

简单说 我们就是 一次一次 遍历 判断他是对象 就判断是不是json-bigint处理出来的 如果是 直接合成字符串
如果不是 就继续传回去递归下一层
一层一层 将这个数据处理干净
最后 我们在axios 就可以直接这样写了
直接拿最后的返回值
将json-bigint处理为数值分区数组的字段全部自动转为字符串_第2张图片
我们运行结果如下

将json-bigint处理为数值分区数组的字段全部自动转为字符串_第3张图片
也是非常的完美 这样 我们数据id就都被这样扫描出来 然后处理成字符串啦

你可能感兴趣的:(json,javascript,vue.js)