diff --git a/README.md b/README.md index d81581cba..b78a2b49b 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ There are myriads of [JSON](http://json.org) libraries out there, and each may even have its reason to exist. Our class had these design goals: -- **Trivial integration**. Our whole code consists of just two files: A header file `JSON.h` and a source file `JSON.cc`. That's it. No library, no subproject, no dependencies. The class is written in vanilla C++98 and -- if possible -- uses some features of C++11 such as move constructors. +- **Trivial integration**. Our whole code consists of just two files: A header file `JSON.h` and a source file `JSON.cc`. That's it. No library, no subproject, no dependencies. The class is written in vanilla C++98 and -- if possible -- uses some features of C++11 such as move constructors. All in all, the class should require no adjustment of your compiler flags or project settings. - **Intiuitve syntax**. In languages such as Python, JSON feels like a first class data type. We used all the operator magic of C++ to achieve the same feeling in your code. Check out the examples below and you know, what I mean. @@ -27,3 +27,32 @@ All you need to do is add ``` to the files you want to use JSON objects. Furthermore, you need to compile the file `JSON.cc` and link it to your binaries. + +## Examples + +Here are some examples to give you an idea how to use the class: + +```cpp +// create an empty structure +JSON j; + +// add a number that is stored as double +j["pi"] = 3.141; + +// add a Boolean that is stored as bool +j["happy"] = true; + +// add a string that is stored as std::string +j["name"] = "Niels"; + +// add an object inside the object +j["further"]["entry"] = 42; + +// add an array that is stored as std::vector +j["list"] = { 1, 0, 2 }; +``` + +## Input / Output + +## STL-like access +