MySQL & JSON

문린이·2022년 8월 19일
0

get 요청 시 상품 목록을 줘야 하는데 select 시 하나의 칼럼에 객체 형태로 주는 법입니다.

위에 사진처럼 하나의 상품인데 색상과 사이즈가 여러 개여서 색상과 사이즈를 객체 형태로 보내줘야 하는데 난관에 봉착했다.

JSON_OBJECTAGG(key, value)

JSON_OBJECTAGG는 MySQL 5.7.22부터 추가된 문법으로 select시 객체 형태로 만들어준다.

실제코드

결과

또 난관에 봉착... 객체 형태가 아닌 string 형태로 들어왔다...

JSON.parse

JSON.parse() 메서드는 JSON 문자열의 구문을 분석하고, 그 결과에서 JavaScript 값이나 객체를 생성합니다. 선택적으로, reviver 함수를 인수로 전달할 경우, 결과를 반환하기 전에 변형할 수 있습니다. -MDN

for문을 돌리고 객체 value에 접근 후 value에 JSON.parse를 사용하여 문제 해결!

실제코드

결과

하지만 데이터양이 수백, 수천, 수만개라면....?

JSON_PRETTY(json_val)

JSON_PRETTY를 사용하면 for 문 없이 문제를 해결할 수 있을 거 같다.... 아직 공부가 부족하여 공부 후 mysql 문법으로 만 해결하겠습니다!

profile
Software Developer

0개의 댓글