后端數據返回的snake_case格式,但前端的規范為駝峰格式,實現一種snake_case轉駝峰的方法


function snakeCaseToCamelCase(input){
    let inputStr =  JSON.stringify(input);
    var arr = new Array(inputStr.length);
    let isKey = false;
    let count = 0;// key value 必須配對
    let skipCount = 0;

    for(var i=0,j=inputStr.length; i<j; i++){
        if(!isKey){
            arr.push(inputStr[i]);
            if(inputStr[i]==='\\'){
                i++;
                arr.push(inputStr[i]);
            }
            else if(inputStr[i]==='"'){
                if(skipCount){
                    skipCount--;
                }
                else{
                    count++;
                }
                isKey = count%2===1;
            }
            continue;
        }

        if(inputStr[i] === '_'){
            i++;
            arr.push(inputStr[i].toUpperCase());
            continue;
        }
        else if(inputStr[i]==='\\'){
            arr.push(inputStr[i]);
            arr.push(inputStr[++i]);
            continue;
        }
        else if(inputStr[i]==='"'){
            isKey = false;
            if(inputStr[i+2]==='"'){
                skipCount = 2;
            }
            else{
                skipCount = 0;
            }
            count++;
        }
        arr.push(inputStr[i]);
    }

    return  JSON.parse(arr.join(''));
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM