[go] JSON 파일의 크기 최적화
JSON(JavaScript Object Notation) 파일은 데이터를 저장하고 전송하는 데 많이 사용됩니다. 그러나 JSON 파일이 커지면 네트워크 대역폭을 많이 사용하고, 읽고 쓰는 데 시간이 오래 걸립니다. 이런 이유로 JSON 파일을 최적화하여 크기를 줄이는 것이 중요합니다.
1. 불필요한 공백 제거
JSON 파일에서 불필요한 공백을 제거하여 파일 크기를 줄일 수 있습니다. 이 작업은 JSON 데이터를 읽고 쓰는 과정에서는 영향을 미치지 않고 파일 크기를 줄일 수 있습니다.
예시:
import (
"bytes"
"encoding/json"
)
func compactJSON(inputJSON []byte) ([]byte, error) {
var out bytes.Buffer
err := json.Compact(&out, inputJSON)
if err != nil {
return nil, err
}
return out.Bytes(), nil
}
2. 데이터 압축
JSON 데이터를 압축하여 크기를 줄일 수 있습니다. 예를 들어, gzip 또는 deflate와 같은 데이터 압축 알고리즘을 사용하여 JSON 데이터를 압축할 수 있습니다.
예시:
import (
"bytes"
"compress/gzip"
)
func compressJSON(inputJSON []byte) ([]byte, error) {
var buf bytes.Buffer
writer := gzip.NewWriter(&buf)
_, err := writer.Write(inputJSON)
if err != nil {
return nil, err
}
err = writer.Close()
if err != nil {
return nil, err
}
return buf.Bytes(), nil
}
3. 데이터 요약
JSON 데이터를 요약하여 크기를 줄일 수 있습니다. 예를 들어, 해시 기반의 체크섬을 사용하여 데이터를 요약할 수 있습니다.
예시:
import (
"crypto/md5"
"encoding/hex"
)
func checksumJSON(inputJSON []byte) string {
hash := md5.Sum(inputJSON)
return hex.EncodeToString(hash[:])
}
JSON 파일의 크기를 최적화하는 방법은 다양합니다. 불필요한 공백을 제거하고, 데이터를 압축하고, 요약함으로써 JSON 파일의 크기를 효과적으로 줄일 수 있습니다.
관련 자료: