| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| 1.3.0 source code.tar.gz | 2025-12-19 | 16.4 kB | |
| 1.3.0 source code.zip | 2025-12-19 | 18.2 kB | |
| README.md | 2025-12-19 | 1.8 kB | |
| Totals: 3 Items | 36.4 kB | 0 | |
New features
- The
Json::parse()andparse_in_place()methods now have an additionaloptionsparameter, which can turn ON/OFF additional syntax that is not present in JSON standard. - New
optHexparsing option (OFF by default). It allows integers in hex format (like: 0x1A, 0X2b). - New
optIdentifiersparsing option (OFF by default). It allows object member names as C identifiers without quotes: {foo: "bar"}. -
Added parsing options that are ON by default. Previous version supported these features, but these could not be turned off. Note that JSON standard doesn't allow these:
-
optUniqueMembers: disallow duplicate member names within the object. Apparently standard JSON allows (but not recommends) duplicates, see https://datatracker.ietf.org/doc/html/rfc8259#section-4 optTrailingComma: allow one trailing comma in arrays and objects, like [1,2,].optEmptyFraction: Allow floating point numbers with no digits after decimal point (like 1. or 2.e3).optLineCommentC: allow // comments.
Changes
- Raise ErrSyntax if a null character is found before the text ends, when the length of input is passed explicitly to parse() method.
Fixes
- Avoid crash due to stack overflow when the nested level of values is too high. Raise ErrSyntax if nested level is 512 or higher. This issue was caught thanks to https://github.com/nst/JSONTestSuite
- Fix string parsing when \" escape was present. This issue was caught thanks to https://github.com/nst/JSONTestSuite
- Fix string parsing when character code is greater than 0x7F. Basically parsing failed for all unescaped non-ASCII characters. This issue was caught thanks to https://github.com/nst/JSONTestSuite