JSON 데이터 최적화 어떻게 하시나요?

조회 162

안녕하세요! 현재 엑셀 시트를 JSON 데이터로 변환하여 사용중인데 이 JSON데이터(JSON.stringify)가 12~13MB정도 됩니다 공백을 JS 정규식을 이용하여 제거하니 1MB정도 날라가긴 하지만 시트가 손상됩니다 ㅠㅠ 한번씩 브라우저가 뻗기도 합니다..ㅎㅎ 최적화 해보신 분들이나 좋은 아이디어가 있으신분있으신가요?!? 도와주세요!!

구체적이고 정성스러운 질문에 Up 투표를 눌러주세요.

설명이 부족한 질문에 Down 투표를 눌러주세요. 커리어리가 질문자에게 수정을 요청할게요.

답변 2

BEST 답변

이국범님의 프로필 사진

제가 했던 방법입니다 1. JSON의 key값의 길이를 줄입니다 (예 : name -> n, height -> h) 2. JSON의 value부분에 자주 등장하는 문자열을 짦은 문자로 치환합니다 (예 : "안녕하세요"가 자주 등장하면 "$안" 으로 바꿉니다. 여기서 $접두사는 치환되었다는 의미입니다) 이 치환 정보를 자바스크립트 객체에 저장해두고 데이터를 이용하실 때 원래대로 복구하여 사용합니다

김태현님의 프로필 사진

김태현

작성자

개발자3월 9일

친절한 답변감사합니다 ㅎㅎ 답변에 궁금한점이있어요 1번 key 값을 바꾸어도 서버통신관련해사 문제가없을까요?? 2번 자세하게 알아볼려면 뭐라고 검색하야할까요?

이국범님의 프로필 사진

이국범

프론트엔드 3월 9일

서버에서 key값을 바꾸면 클라이언트 측에서도 변경된 key로 작업을 수행해야 합니다. 그런데 서버 리스폰스를 gzip 포멧으로 응답하면 key를 자동으로 압축해 준다고 하네요. json을 하나의 문자열로 처리하므로 key value 상관없이 중복되는 문자는 압축 됩니다 아래 참조하세요 https://stackoverflow.com/a/36609954/2985799 2번 자세하게 알아볼려면 뭐라고 검색하야할까요? <- 이건 어디서 찾아보고 한 건 아니고 제가 수동으로 작업한거라서 어떤 알고리즘이 별도로 존재하는지는 잘 모르겠습니다

김태현님의 프로필 사진

김태현

작성자

개발자3월 9일

새로운 아이디어를 찾은거같아요 ㅎㅎ 감사합니다!

이범희님의 프로필 사진

한번에 모두 로딩하지 않고 필요할 때에 JSON 데이터를 로딩하는 방식으로 하는게 더 장기적으로 좋은 방법이 될 거 같아요. 그러려면 JSON 데이터를 나눠서 로딩할 수 있는 형태로 포멧을 먼저 개선하는 작업도 필요하겠지만요.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직 개발자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직 개발자들의 명쾌한 답변을 얻을 수 있어요.