Output JSON Boleh Dibaca Manusia dalam Go
Dalam Go, adalah mungkin untuk menjana output JSON yang boleh dibaca manusia tanpa memerlukan jq luaran pembalut. Pakej pengekodan/json menyediakan fungsi terbina dalam untuk mengcantikkan output JSON.
Menggunakan json.MarshalIndent() atau json.Encoder.SetIndent()
Json. Fungsi MarshalIndent() memformat nilai Go sebagai rentetan JSON dan mengendenkannya mengikut awalan dan inden yang ditentukan aksara.
Sebagai contoh, untuk memformat peta sebagai JSON:
m := map[string]interface{}{"id": "uuid1", "name": "John Smith"} data, err := json.MarshalIndent(m, "", " ") if err != nil { panic(err) } fmt.Println(string(data))
Output:
{ "id": "uuid1", "name": "John Smith" }
Anda juga boleh menggunakan json.Encoder.SetIndent() kaedah untuk mengesot keluaran daripada pengekod.
Menggunakan json.Indent()
Jika anda mempunyai rentetan JSON yang anda ingin format, anda boleh menggunakan fungsi 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())
Output:
{ "id": "uuid1", "name": "John Smith" }
Menyesuaikan Inden
Aksara inden boleh disesuaikan berdasarkan pilihan anda. Secara lalai, awalan ialah rentetan kosong dan inden ialah satu ruang. Anda boleh mengatasi lalai ini untuk membuat output JSON dengan gaya lekukan yang diingini.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Output JSON Boleh Dibaca Manusia dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!