2014-06-26 11:47:20 +08:00
# Rapidjson
2014-06-26 11:38:41 +08:00
Copyright (c) 2011-2014 Milo Yip (miloyip@gmail .com)
https://github.com/miloyip/rapidjson/
## Introduction
2014-06-26 11:47:20 +08:00
Rapidjson is a JSON parser and generator for C++. It was inspired by [rapidxml ](http://rapidxml.sourceforge.net/ ).
2014-06-26 11:38:41 +08:00
2014-06-26 11:46:16 +08:00
* Rapidjson is small but complete. It supports both SAX and DOM style API. The SAX parser is only a half thousand lines of code.
2014-06-26 11:38:41 +08:00
2014-06-26 11:46:16 +08:00
* Rapidjson is fast. Its performance can be comparable to `strlen()` . It also optionally supports SSE2/SSE4.1 for acceleration.
2014-06-26 11:38:41 +08:00
2014-06-26 11:46:16 +08:00
* Rapidjson is self-contained. It does not depend on external libraries such as BOOST. It even does not depend on STL.
2014-06-26 11:38:41 +08:00
2014-06-26 11:46:16 +08:00
* Rapidjson is memory friendly. Each JSON value occupies exactly 16/20 bytes for most 32/64-bit machines (excluding text string). By default it uses a fast memory allocator, and the parser allocates memory compactly during parsing.
2014-06-26 11:38:41 +08:00
For the full features please refer to the user guide.
2014-06-26 11:47:20 +08:00
JSON(JavaScript Object Notation) is a light-weight data exchange format. More information about JSON can be obtained at
2014-06-26 11:38:41 +08:00
* http://json.org/
* http://www.ietf.org/rfc/rfc4627.txt
## Installation
2014-06-26 11:46:16 +08:00
Rapidjson is a header-only C++ library. Just copy the `rapidjson/include/rapidjson` folder to system or project's include path.
To build the tests and examples:
2014-06-26 11:38:41 +08:00
2014-06-26 11:46:16 +08:00
1. Obtain [premake4] (http://industriousone.com/premake/download).
2. Copy premake4 executable to rapidjson/build (or system path)
3. Run `rapidjson/build/premake.bat` on Windows, `rapidjson/build/premake.sh` on Linux or other platforms
4. On Windows, build the solution at `rapidjson/build/vs2008/` or `/vs2010/`
5. On other platforms, run GNU make at `rapidjson/build/gmake/` (e.g., `make -f test.make config=release32` , `make -f example.make config=debug32` )
6. On success, the executable are generated at `rapidjson/bin`