diff --git a/README.md b/README.md index 94d419d..39968f1 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# WeaselJSON: A Streaming JSON Parser Review +# WeaselJSON: A Streaming JSON Parser ## What is WeaselJSON? @@ -17,7 +17,6 @@ WeaselJSON is a high-performance, streaming JSON parser that uses callbacks inst - The callback API is a pain to use correctly - Requires a lot of boilerplate for simple tasks - Most people don't actually need streaming JSON parsing -- Some features only work if you control how the JSON is structured ## JSON Parser Decision Guide @@ -46,7 +45,6 @@ flowchart TD - Performance is critical and your data fits in memory - You can work with forward-only traversal (no random access or backtracking) - You need maximum speed but still want a usable API -- Your JSON structure is consistent and you control both generation and parsing - You're okay with partial validation (only validates parts you actually access) - Your JSON keys don't contain escape sequences (OnDemand matches raw keys without unescaping) @@ -73,7 +71,7 @@ The parser represents excellent engineering work and occupies a useful niche. It - No memory allocations during parsing - O(1) memory usage regardless of input size - Streaming API - no need to buffer the entire document in memory. Parsing is resumed when more data is available -- Strings are unescaped in place before they're presented (modifies your input buffer unless WeaselJsonRaw flag is used). No unicode normalization is performed +- By default, strings are unescaped in place before they're presented (modifies your input buffer). No unicode normalization is performed - Robust to crashes with untrusted input - SIMD optimizations for string scanning and validation