README.md in fast_jsonparser-0.4.0 vs README.md in fast_jsonparser-0.5.0
- old
+ new
@@ -126,9 +126,18 @@
```
FastJsonparser.parse("123: 1") # FastJsonparser::ParseError (parse error)
```
+### Known Incompatibilities with stdlib JSON
+
+`FastJsonparser` behaves mostly like stdlib's `JSON`, but there are a few corner cases:
+
+- `FastJsonparser` will use symbols for hash keys by default. You can pass `symbolize_names: false` to have strings instead like `JSON`.
+- `FastJsonparser` will raise on integers outside of the 64bits range (`-9223372036854775808..18446744073709551615`), `JSON` will parse them fine.
+- `FastJsonparser` will raise on invalid string escapings (`"\x15"`), `JSON` will often handle some of them.
+- `FastJsonparser` will raise on `/**/` comments. `JSON` will sometimes ignore them, sometimes raise.
+
### Example
```
> sample_json = '{"a":"Alpha","b":true,"c":12345,"d":[true,[false,[-123456789,null],3.9676,["Something else.",false],null]],"e":{"zero":null,"one":1,"two":2,"three":[3],"four":[0,1,2,3,4]},"f":null,"h":{"a":{"b":{"c":{"d":{"e":{"f":{"g":null}}}}}}},"i":[[[[[[[null]]]]]]]}'
> FastJsonparser.parse(sample_json)