Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menghuraikan JSON Bersarang dengan Cekap dalam GoLang Menggunakan Penegasan Jenis?
Melingkar JSON Bersarang dalam GoLang
Sesuatu keperluan wujud untuk mengekstrak pasangan nilai kunci daripada struktur JSON bersarang untuk pemprosesan dinamik. Untuk melintasi struktur ini dengan cekap, pendekatan berikut disyorkan:
Menggunakan Penegasan Jenis dengan Gelung Julat
Seperti yang disediakan dalam respons, penegasan jenis boleh digunakan untuk berulang kali mengakses dan memproses kandungan objek JSON bersarang. Kod sampel berikut menunjukkan pendekatan ini:
package main import ( "encoding/json" "fmt" ) func main() { // Create a map for the JSON data m := map[string]interface{}{} // Unmarshal the JSON input into the map err := json.Unmarshal([]byte(input), &m) if err != nil { panic(err) } // Recursively parse the map parseMap(m) } func parseMap(aMap map[string]interface{}) { for key, val := range aMap { switch concreteVal := val.(type) { case map[string]interface{}: fmt.Println(key) parseMap(concreteVal) case []interface{}: fmt.Println(key) parseArray(concreteVal) default: fmt.Println(key, ":", concreteVal) } } } func parseArray(anArray []interface{}) { for i, val := range anArray { switch concreteVal := val.(type) { case map[string]interface{}: fmt.Println("Index:", i) parseMap(concreteVal) case []interface{}: fmt.Println("Index:", i) parseArray(concreteVal) default: fmt.Println("Index", i, ":", concreteVal) } } } const input = ` { "outterJSON": { "innerJSON1": { "value1": 10, "value2": 22, "InnerInnerArray": [ "test1" , "test2"], "InnerInnerJSONArray": [{"fld1" : "val1"} , {"fld2" : "val2"}] }, "InnerJSON2":"NoneValue" } } `
Dalam kod ini, fungsi parseMap dan parseArray secara rekursif melintasi struktur JSON bersarang, mencetak pasangan nilai kunci dalam cara hierarki. Pendekatan ini menyediakan mekanisme serba boleh untuk mengakses dan memproses data daripada JSON tanpa mengira kerumitannya.
Atas ialah kandungan terperinci Bagaimana untuk Menghuraikan JSON Bersarang dengan Cekap dalam GoLang Menggunakan Penegasan Jenis?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!