Parsen mehrerer entpackter JSON-Objekte in Go
In Go analysiert das Paket „encoding/json“ effizient JSON-Objekte, die in eckigen Klammern eingeschlossen sind ([] ). Das Auffinden mehrerer nicht verpackter JSON-Objekte (z. B. {key:value}{key:value}) stellt jedoch eine Herausforderung beim Parsen dar.
Um solche mehreren nicht verpackten JSON-Objekte zu dekodieren, können wir einen json.Decoder verwenden, der iterativ liest und dekodiert jedes einzelne Objekt. Hier ist ein Beispiel:
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) } }
In diesem Beispiel:
Spielplatz: https://play.golang.org/p/ANx8MoMC0yq
Das obige ist der detaillierte Inhalt vonWie analysiere ich mehrere nicht verpackte JSON-Objekte in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!