在 Go 中解析多个未包装的 JSON 对象
在 Go 中,encoding/json 包可以有效解析方括号 ([] 内的 JSON 对象) )。然而,遇到多个未包装的 JSON 对象(例如,{key:value}{key:value})会带来解析挑战。
要解码此类多个未包装的 JSON 对象,我们可以使用 json.Decoder 来迭代读取并解码每个单独的对象。这是一个示例:
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) } }
在此示例中:
游乐场:https://play.golang.org/p/ANx8MoMC0yq
以上是如何在 Go 中解析多个未包装的 JSON 对象?的详细内容。更多信息请关注PHP中文网其他相关文章!