diff options
Diffstat (limited to 'vendor/github.com/tdewolff/parse/json/README.md')
-rw-r--r-- | vendor/github.com/tdewolff/parse/json/README.md | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/vendor/github.com/tdewolff/parse/json/README.md b/vendor/github.com/tdewolff/parse/json/README.md deleted file mode 100644 index 7621ca9..0000000 --- a/vendor/github.com/tdewolff/parse/json/README.md +++ /dev/null @@ -1,81 +0,0 @@ -# JSON [![GoDoc](http://godoc.org/github.com/tdewolff/parse/json?status.svg)](http://godoc.org/github.com/tdewolff/parse/json) [![GoCover](http://gocover.io/_badge/github.com/tdewolff/parse/json)](http://gocover.io/github.com/tdewolff/parse/json) - -This package is a JSON lexer (ECMA-404) written in [Go][1]. It follows the specification at [JSON](http://json.org/). The lexer takes an io.Reader and converts it into tokens until the EOF. - -## Installation -Run the following command - - go get github.com/tdewolff/parse/json - -or add the following import and run project with `go get` - - import "github.com/tdewolff/parse/json" - -## Parser -### Usage -The following initializes a new Parser with io.Reader `r`: -``` go -p := json.NewParser(r) -``` - -To tokenize until EOF an error, use: -``` go -for { - gt, text := p.Next() - switch gt { - case json.ErrorGrammar: - // error or EOF set in p.Err() - return - // ... - } -} -``` - -All grammars: -``` go -ErrorGrammar GrammarType = iota // extra grammar when errors occur -WhitespaceGrammar // space \t \r \n -LiteralGrammar // null true false -NumberGrammar -StringGrammar -StartObjectGrammar // { -EndObjectGrammar // } -StartArrayGrammar // [ -EndArrayGrammar // ] -``` - -### Examples -``` go -package main - -import ( - "os" - - "github.com/tdewolff/parse/json" -) - -// Tokenize JSON from stdin. -func main() { - p := json.NewParser(os.Stdin) - for { - gt, text := p.Next() - switch gt { - case json.ErrorGrammar: - if p.Err() != io.EOF { - fmt.Println("Error on line", p.Line(), ":", p.Err()) - } - return - case json.LiteralGrammar: - fmt.Println("Literal", string(text)) - case json.NumberGrammar: - fmt.Println("Number", string(text)) - // ... - } - } -} -``` - -## License -Released under the [MIT license](https://github.com/tdewolff/parse/blob/master/LICENSE.md). - -[1]: http://golang.org/ "Go Language" |