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 chunk-based JSON parsing and generation in Objective-C.


SBJson's number one feature is 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. See more in the Version 4 API docs.

Other features:

  • Configurable recursion limit. For safety SBJson defaults to a max nesting level of 32 for all input. This can be configured if necessary.
  • The writer can optionally sort dictionary keys so output is consistent across writes.
  • The writer can optionally create human-readable (indented) output.

API Documentation

Please see the API Documentation for more details.


The preferred way to use SBJson is by using CocoaPods. In your Podfile use:

pod 'SBJson', '~> 4.0.1'

If you depend on a third-party library that requires an earlier version of SBJson---or want to install both version 3 and 4 in the same app to do a gradual transition---you can instead use:

pod 'SBJson4', '~> 4.0.1'

An alternative that I no longer recommend is to copy all the source files (the contents of the src/main/objc folder) into your own Xcode project.




BSD. See LICENSE for details.