Captain Dero 9687ad9cb4 | 6 years ago | |
---|---|---|
.. | ||
testdata | 6 years ago | |
LICENSE | 6 years ago | |
README.md | 6 years ago | |
bench_test.go | 6 years ago | |
decode.go | 6 years ago | |
decode_test.go | 6 years ago | |
encode.go | 6 years ago | |
encode_test.go | 6 years ago | |
example_test.go | 6 years ago | |
fold.go | 6 years ago | |
fold_test.go | 6 years ago | |
indent.go | 6 years ago | |
number_test.go | 6 years ago | |
scanner.go | 6 years ago | |
scanner_test.go | 6 years ago | |
stream.go | 6 years ago | |
stream_test.go | 6 years ago | |
tagkey_test.go | 6 years ago | |
tags.go | 6 years ago | |
tags_test.go | 6 years ago |
fastjson
has the same API as json from standard library encoding/json
.
The Unmarshal
and Decode
functions are faster, but everything else is the same as encoding/json
$go get github.com/intel-go/fastjson
##Perfomance
The performance depends on the content of your json structures, not the structure you parse to.
If .json
has a lot of strings or numbers, fastjson is significantly faster than encoding/json
##Example
import (
"github.com/intel-go/fastjson"
"fmt"
)
func main() {
var jsonBlob = []byte(`[
{"Name": "Platypus", "Order": "Monotremata"},
{"Name": "Quoll", "Order": "Dasyuromorphia"}
]`)
type Animal struct {
Name string
Order string
}
var animals []Animal
err := fastjson.Unmarshal(jsonBlob, &animals)
if err != nil {
fmt.Println("error:", err)
}
fmt.Printf("%+v", animals)
// Output:
// [{Name:Platypus Order:Monotremata} {Name:Quoll Order:Dasyuromorphia}]
}
##API API is the same as encoding/json GoDoc