출력 함수
API 변경 안내
Print, PrintPretty, PrintE, PrintPrettyE 는 라이브러리에서 제거되어 더 이상 제공되지 않습니다. 다음 대안을 사용하십시오.
대안
압축 JSON 출력
fmt.Println + EncodeWithConfig (권장) 또는 Marshal 사용:
go
data := map[string]any{"name": "Alice", "age": 30}
s, err := json.EncodeWithConfig(data)
if err != nil {
log.Fatal(err)
}
fmt.Println(s)
// 출력: {"age":30,"name":"Alice"}
// 또는 Marshal 사용 ([]byte 출력)
b, err := json.Marshal(data)
if err != nil {
log.Fatal(err)
}
fmt.Println(string(b))Encode 는 더 이상 사용되지 않음
json.Encode는 더 이상 사용되지 않는 것으로 표시되었습니다 (EncodeWithConfig와 기능적으로 동일), 향후 메이저 버전에서 제거될 예정입니다. 새 코드에서는 EncodeWithConfig 또는 Marshal을 사용하세요.
포맷 JSON 출력
fmt.Println + EncodePretty 사용:
go
s, err := json.EncodePretty(data)
if err != nil {
log.Fatal(err)
}
fmt.Println(s)
// 출력:
// {
// "age": 30,
// "name": "Alice"
// }JSON 문자열 출력 (기존 JSON 포맷)
Prettify 사용:
go
pretty, err := json.Prettify(`{"name":"Alice","age":30}`)
if err != nil {
log.Fatal(err)
}
fmt.Println(pretty)Processor 를 사용한 출력
go
p, err := json.New()
if err != nil {
panic(err)
}
defer p.Close()
// 인코딩 후 출력 (EncodeWithConfig 권장; Encode 는 더 이상 사용되지 않음)
s, err := p.EncodeWithConfig(data)
if err != nil {
log.Fatal(err)
}
fmt.Println(s)
// 포맷 출력
pretty, err := p.EncodePretty(data)
if err != nil {
log.Fatal(err)
}
fmt.Println(pretty)전체 예제
go
package main
import (
"fmt"
"log"
"github.com/cybergodev/json"
)
func main() {
data := map[string]any{
"users": []any{
map[string]any{"id": 1, "name": "Alice"},
map[string]any{"id": 2, "name": "Bob"},
},
"total": 2,
}
// 압축 출력 (Encode 는 더 이상 사용되지 않음, EncodeWithConfig 권장)
compact, err := json.EncodeWithConfig(data)
if err != nil {
log.Fatal(err)
}
fmt.Println(compact)
// 포맷 출력
pretty, err := json.EncodePretty(data)
if err != nil {
log.Fatal(err)
}
fmt.Println(pretty)
}