`encoding/json` allows non-numeric strings as `json.Number` while `jsoniter` requires that the string be a number. For instance, given: ```go package main import ( "fmt" jsoniter "github.com/json-iterator/go" ) func main() { b := []byte(`{"test":"blah"}`) outputs := map[string]jsoniter.Number{} err := jsoniter.Unmarshal(b, &outputs) if err != nil { panic(err) } fmt.Printf("%#v\n", outputs) } ``` `jsoniter` panics with: ``` panic: readNumberAsString: invalid number, parsing 8 ...{"test":... at {"test":"blah"} goroutine 1 [running]: main.main() m.go:16 +0x1a0 ``` while `encoding/json` outputs: ``` map[string]json.Number{"test":"blah"} ```