Go でラップされていない複数の JSON オブジェクトを解析する
Go では、エンコーディング/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 中国語 Web サイトの他の関連記事を参照してください。