Rumah >pembangunan bahagian belakang >Golang >Bagaimanakah Saya Boleh Menghuraikan Berbilang Objek JSON Berturut-turut dengan Cekap dalam Go?
Menghuraikan Berbilang Objek JSON dalam Go
Apabila menghadapi berbilang objek JSON, seperti yang dikembalikan daripada pelayan dalam format:
{"something":"foo"} {"something-else":"bar"}
penghuraian boleh terbukti mencabar. Coretan kod berikut menunjukkan kesukaran yang dihadapi apabila menggunakan rentetan.Ganti:
correct_format := strings.Replace(string(resp_body), "}{", "},{", -1) json_output := "[" + correct_format + "]"
Penyelesaian alternatif terletak pada penggunaan json.Decoder untuk penyahkodan yang berkesan:
package main import ( "encoding/json" "fmt" "io" "log" "strings" ) var input = ` {"foo": "bar"} {"foo": "baz"} ` type Doc struct { Foo string } func main() { dec := json.NewDecoder(strings.NewReader(input)) for { var doc Doc err := dec.Decode(&doc) if err == io.EOF { // all done break } if err != nil { log.Fatal(err) } fmt.Printf("%+v\n", doc) } }
Pendekatan ini memastikan penghuraian yang berjaya daripada berbilang objek JSON, walaupun dalam senario seperti data Common Crawl.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghuraikan Berbilang Objek JSON Berturut-turut dengan Cekap dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!