Analyse de plusieurs objets JSON dans Go
L'analyse JSON dans Go est simplifiée à l'aide du package encoding/json. Bien qu'il gère sans effort des tableaux d'objets JSON, le défi se pose lors de l'analyse des réponses JSON avec plusieurs objets, tels que :
{"something":"foo"} {"something-else":"bar"}
Le code fourni tente de transformer manuellement l'entrée en remplaçant les occurrences }{ par }, {, mais cette approche est inefficace.
Pour résoudre ce problème, une solution plus robuste utilisant un json.Decoder est nécessaire. L'approche consiste à :
Voici un exemple d'implémentation :
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) } }
Cette solution gère avec élégance plusieurs objets JSON dans l'entrée, garantissant leur analyse et leur désérialisation précises.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!