Heim >Backend-Entwicklung >Golang >Wie kann ich mehrere aufeinanderfolgende JSON-Objekte in Go effizient analysieren?
Parsen mehrerer JSON-Objekte in Go
Beim Auftreffen mehrerer JSON-Objekte, z. B. solche, die von Servern im Format zurückgegeben werden:
{"something":"foo"} {"something-else":"bar"}
Das Parsen kann sich als Herausforderung erweisen. Das folgende Code-Snippet zeigt Schwierigkeiten bei der Verwendung von Strings.Replace:
correct_format := strings.Replace(string(resp_body), "}{", "},{", -1) json_output := "[" + correct_format + "]"
Eine alternative Lösung besteht in der Verwendung eines json.Decoder für eine effektive Dekodierung:
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) } }
Dieser Ansatz gewährleistet eine erfolgreiche Analyse von mehreren JSON-Objekten, auch in Szenarien wie Common Crawl-Daten.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere aufeinanderfolgende JSON-Objekte in Go effizient analysieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!