Bagaimana untuk Mencetak Output JSON dengan Cantik dalam Go Menggunakan Fungsi Terbina dalam?

Linda Hamilton
Lepaskan: 2024-11-22 04:54:11
asal
555 orang telah melayarinya

How to Pretty Print JSON Output in Go Using Built-in Functions?

Cantik Mencetak Output JSON dalam Go dengan Fungsi Terbina Dalam

Apabila berurusan dengan output JSON dalam program Go, selalunya diingini untuk membuatnya boleh dibaca oleh manusia. Walaupun jq boleh digunakan untuk tujuan ini, terdapat juga fungsi terbina dalam dalam perpustakaan standard Go yang boleh mencapai hasil yang diingini.

Json Marshal Indenting

The pakej pengekodan/json menyediakan fungsi json.MarshalIndent() untuk mencetak output JSON yang cantik. Ia memerlukan dua parameter tambahan:

  • awalan: Rentetan untuk ditambahkan sebelum setiap baris
  • inden: Rentetan untuk ditambah selepas setiap tahap lekukan

Dengan menghantar rentetan kosong sebagai awalan dan ruang sebagai inden, anda boleh mendapatkan JSON yang boleh dibaca manusia output:

m := map[string]interface{}{"id": "uuid1", "name": "John Smith"}

data, err := json.MarshalIndent(m, "", "  ")
if err != nil {
    panic(err)
}
fmt.Println(string(data))
Salin selepas log masuk

Output:

{
  "id": "uuid1",
  "name": "John Smith"
}
{
  "id": "uuid1",
  "name": "John Smith"
}
Salin selepas log masuk

Anda juga boleh menggunakan kaedah json.Encoder.SetIndent() untuk menetapkan parameter lekukan apabila menggunakan Pengekod:

enc := json.NewEncoder(os.Stdout)
enc.SetIndent("", "  ")
if err := enc.Encode(m); err != nil {
    panic(err)
}
Salin selepas log masuk

Json Indent

Jika anda sudah mempunyai rentetan JSON, anda boleh menggunakan fungsi json.Indent() untuk memformatnya:

src := `{"id":"uuid1","name":"John Smith"}`

dst := &bytes.Buffer{}
if err := json.Indent(dst, []byte(src), "", "  "); err != nil {
    panic(err)
}
fmt.Println(dst.String())
Salin selepas log masuk

Output:

{
  "id": "uuid1",
  "name": "John Smith"
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Mencetak Output JSON dengan Cantik dalam Go Menggunakan Fungsi Terbina dalam?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan