json转成数组,数组转成json,json编辑器

module.exports = {
    JSONToPathArr(data){
        const resArr=[]
        const pArr=['']
        const list=[data]
        for(let i=0;i<list.length;i++){
            const json=list[i]
            for(let k in json){
                const path=pArr[i]?pArr[i]+'.'+k:k
                if(Object.prototype.toString.call(json[k])==='[object Object]'){
                    pArr.push(path)
                    list.push(json[k])
                }else{
                    resArr.push({
                        path,
                        value:json[k],
                    })
                }

            }
        }
        return resArr
    },
    PathArrToJSON(list){
        const resObj= {}
        for(let i=0;i<list.length;i++){
            const item=list[i]
            const pArr=item.path.split('.')
            let temp=resObj
            for(let j=0;j<pArr.length;j++){
                if(j===pArr.length-1){
                    temp[pArr[j]]=item.value
                }
                if(!temp[pArr[j]]){
                    temp[pArr[j]]={}
                }
                temp=temp[pArr[j]]
            }
        }

        return resObj
    },
}

  

posted @ 2024-12-13 16:26  无工时代  阅读(19)  评论(0)    收藏  举报