Skip to content

Home

JasonPP

is a beginner-friendly Json library

  • Set up in seconds, ready to use!
  • No frustration with linkers
  • No extra dependencies
  • Based on std::string
  • Just two files
  • Sleek syntax
  • Smart json-array sorting
  • Descriptions for all functions (Docs and Visual Studio)
  • Cross platform. Should work everywhere!
  • Documentation with many examples
  • Supports comments in json code!

for the more advanced

  • Finetuneable using preprocessor definitions
  • UTF-16 support
  • Each release is backed by ~500 unit tests
  • Supports very implicit and very explicit syntax
  • Easy to customize (only ~5k lines)
  • Well commented
  • Object oriented
  • Supports octal and hexadecimal numbers!



features

  • SIMPLE to create / read Arrays of ANY complexity
  • Smart json-array sorting
  • Construct every possible json "inline"
  • Easily modify existing json objects
  • Shorthands (my.deep.json.struct)
  • Render jsons minified and pretty-print
  • Maintains insertion order (can be disabled)
  • Compare two json objects semantically (by content)
  • Deepcopy
  • Supports octal and hexadecimal numbers
  • Supports comments (// and #)
  • Automatic escaping / unescaping of UTF-8 character sequences
  • Complete toolset to work with UTF-16 (you don't have to!)
  • Operator overloads

JasonPP only supports vanilla json and a few quality-of-life improvements. No json schema.




dependencies

Every library has got to have some dependencies, doesn't it?

But JasonPP's dependencies are are all standard headers.

You do NOT need to install them! They should come with C++ by default!

But just in case:

  • C++ 11
  • cmath
  • cstdlib
  • exception
  • iostream
  • sstream
  • string
  • vector



license

As stated in the license file, this project is licensed under the MIT license.

Cut short: (this summary is not legally binding. Read the license file)

You are allowed to use JasonPP for private, non-commercial, and even commercial projects, even without giving me credit - allthough i would really appreciate it :)

The only two things you can't do are:

  • copy'n paste JasonPP's code and distributing it as your own
  • claim that you are the author of JasonPP

Do note that i provide absolutely no warranty whatsoever.

I would really appreciate a quick annotation in the credits, and if you could hit me up via email real quick to tell me what you are using JasonPP for :)