Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menjadikan Output JSON Boleh Dibaca Manusia dalam Go?
Apabila mengeluarkan JSON dalam program Go (dikenali sebagai "foo"), ia mungkin bermanfaat untuk menjadikan keputusan boleh dibaca manusia untuk kebolehtafsiran yang lebih baik. Walaupun adalah perkara biasa untuk menggunakan alat baris perintah jq untuk tujuan ini dengan memaipkan output, artikel ini membentangkan penyelesaian alternatif menggunakan pakej pengekodan/json terbina dalam Go.
Pakej pengekodan/json menyediakan sokongan asli untuk menjana JSON inden tanpa memerlukan alat luaran. Dengan menggunakan fungsi json.MarshalIndent() atau memanggil json.Encoder.SetIndent() (tersedia sejak Go 1.7), anda boleh mencapai hasil yang diingini.
Contohnya, untuk mengesot peta ke dalam JSON yang boleh dibaca:
m := map[string]interface{}{"id": "uuid1", "name": "John Smith"} data, err := json.MarshalIndent(m, "", " ") if err != nil { panic(err) } fmt.Println(string(data))
Sebagai alternatif, anda boleh menggunakan json.Encoder dengan SetIndent():
enc := json.NewEncoder(os.Stdout) enc.SetIndent("", " ") if err := enc.Encode(m); err != nil { panic(err) }
Anda juga boleh memformat rentetan JSON sedia ada menggunakan json.Indent():
src := `{"id":"uuid1","name":"John Smith"}` dst := &bytes.Buffer{} if err := json.Indent(dst, []byte(src), "", " "); err != nil { panic(err) } fmt.Println(dst.String())
Parameter awalan dan inden dalam fungsi ini menentukan gaya lekukan. Awalan mendahului setiap baris baharu, manakala inden diulang untuk setiap peringkat sarang.
Dengan memanfaatkan kaedah ini, anda boleh menghasilkan JSON yang boleh dibaca manusia dengan mudah dalam Go tanpa memerlukan alat atau kebergantungan tambahan, meningkatkan kebolehbacaan dan kebolehgunaan output JSON anda.
Atas ialah kandungan terperinci Bagaimana untuk Menjadikan Output JSON Boleh Dibaca Manusia dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!