出力関数
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)
}