자바스크립트 Object 쿼리 스트링으로 변환

skyepodium·2021년 11월 23일
0

그냥 잊어버릴까봐

1. object 쿼리 스트링으로 변환

1) 코드

const param = {
    name: '가나다',
    age: 20,
    carList: ['a', 'b', 'c'],
    bookList: []
}

const queryStr = new URLSearchParams(param).toString()
queryStr

// 'name=%EA%B0%80%EB%82%98%EB%8B%A4&age=20&carList=a%2Cb%2Cc&bookList='

2) 확인

cyber chef 확인

2. 쿼리스트링 오브젝트로 변환

const queryStr = 'name=%EA%B0%80%EB%82%98%EB%8B%A4&age=20&carList=a%2Cb%2Cc&bookList='

const res = Object.fromEntries(decodeURIComponent(queryStr).split("&").map(res => {
    return res.split("=")
}).map(d => [d[0], d[1].split(",")]).map(d => {
    return [d[0], d[1].length > 1 ? d[1] : d[1][0] === "" ? [] : d[1][0] ]
}))
res

음 하고 보니까 Number 안바뀌고, 엄청 비효율적이어서, 다른 방법 찾아볼래요

profile
callmeskye

1개의 댓글

comment-user-thumbnail
2021년 12월 7일

항상 좋은 정보 감사합니다 ^^

답글 달기