<commit_before>SBJson 5
========

JSON (JavaScript Object Notation) is a light-weight data interchange format
that's easy to read and write for humans and computers alike. This library
implements stream/chunk-based JSON parsing and generation in Objective-C.

[![Build Status](https://travis-ci.org/stig/json-framework.png?branch=master)](https://travis-ci.org/stig/json-framework)

[![codecov.io](http://codecov.io/github/stig/json-framework/coverage.svg?branch=master)](http://codecov.io/github/stig/json-framework?branch=master)

[![Project Status: Inactive - The project has reached a stable, usable state but is no longer being actively developed; support/maintenance will be provided as time allows.](http://www.repostatus.org/badges/0.1.0/inactive.svg)](http://www.repostatus.org/#inactive)

[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)

Overview
========

SBJson's number one feature is stream/chunk-based operation. Feed the parser one or
more chunks of UTF8-encoded data and it will call a block you provide with each
root-level document or array. Or, optionally, for each top-level entry in each
root-level array.

With this you can reduce the apparent latency for each
download/parse cycle of documents over a slow connection. You can start
parsing *and return chunks of the parsed document* before the full document
has downloaded. You can also parse massive documents bit by bit so you
don't have to keep them all in memory.

SBJson maps JSON types to Objective-C types in the following way:

| JSON Type | Objective-C Type                |
|-----------|---------------------------------|
| null      | NSNull                          |
| string    | NSString                        |
| array     | NSMutableArray                  |
| object    | NSMutableDictionary             |
| true      | -[NSNumber numberWithBool: YES] |
| false     | -[NSNumber numberWithBool: NO]  |<commit_msg>Make badges in README take up less vertical space<commit_after>SBJson 5
========

JSON (JavaScript Object Notation) is a light-weight data interchange format
that's easy to read and write for humans and computers alike. This library
implements stream/chunk-based JSON parsing and generation in Objective-C.

[![Build Status](https://travis-ci.org/stig/json-framework.png?branch=master)](https://travis-ci.org/stig/json-framework)
[![codecov.io](http://codecov.io/github/stig/json-framework/coverage.svg?branch=master)](http://codecov.io/github/stig/json-framework?branch=master)
[![Project Status: Inactive - The project has reached a stable, usable state but is no longer being actively developed; support/maintenance will be provided as time allows.](http://www.repostatus.org/badges/0.1.0/inactive.svg)](http://www.repostatus.org/#inactive)
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)

Overview
========

SBJson's number one feature is stream/chunk-based operation. Feed the parser one or
more chunks of UTF8-encoded data and it will call a block you provide with each
root-level document or array. Or, optionally, for each top-level entry in each
root-level array.

With this you can reduce the apparent latency for each
download/parse cycle of documents over a slow connection. You can start
parsing *and return chunks of the parsed document* before the full document
has downloaded. You can also parse massive documents bit by bit so you
don't have to keep them all in memory.

SBJson maps JSON types to Objective-C types in the following way:

| JSON Type | Objective-C Type                |
|-----------|---------------------------------|
| null      | NSNull                          |
| string    | NSString                        |
| array     | NSMutableArray                  |
| object    | NSMutableDictionary             |
| true      | -[NSNumber numberWithBool: YES] |
| false     | -[NSNumber numberWithBool: NO]  |
{'fraction_non_alphanumeric': 0.12247946228528753, 'fraction_numerical': 0.003983071944236993, 'mean_word_length': 3.2294736842105265, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 8, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2667690', 'n_tokens_mistral': 1144, 'n_tokens_neox': 1076, 'n_words': 388}