Analyse de plusieurs objets JSON dans Go
Lorsque vous rencontrez plusieurs objets JSON, tels que ceux renvoyés par les serveurs au format :
{"something":"foo"} {"something-else":"bar"}
l'analyse peut s'avérer difficile. L'extrait de code suivant montre les difficultés rencontrées lors de l'utilisation de chaînes. Remplacer :
correct_format := strings.Replace(string(resp_body), "}{", "},{", -1) json_output := "[" + correct_format + "]"
Une solution alternative consiste à utiliser un json.Decoder pour un décodage efficace :
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 approche garantit une analyse réussie. de plusieurs objets JSON, même dans des scénarios tels que les données Common Crawl.
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!