Skip to content

WiFiBeat/SimpleJSON-cpp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

This is a header-only library to easily build a JSON. And this means, charset is limited.

It isn't meant to parse JSON (yet).

Came to life after dealing with RapidJSON weirdness and memory allocation issues reported by valgrind.

What does header-only mean?

It means there is no library to link against and the library doesn't have any code to compile. Just drop it in your project and you're done. All the code in the header and it will be compiled when including the header file in your project. Another advantage is that there is no need to cross-compile.

Example

#include <simplejson-cpp/simplejson.h>

// Creating document
JSONObject * main = new JSONObject();

// Adding regular objects (or variables)
string val = "my value";
main->Add("mykey", val);
main->Add("otherkey", "something");
main->Add("number", 1232);
main->Add("othernumber", 51.84);

// Adding another object to it
JSONObject * sub = new JSONObject();
sub->Add("item", 1);
main->Add(“subobject”, sub);
// ‘sub’ pointer now belongs to main, don’t delete it

// Adding array to 'main'
vector<string> vec;
vec.push_back("w");
vec.push_back("a");

main->Add(“wa”, vec);

// Add an array of JSONObject to the main document
vector<JSONObject *> sub2;

JSONObject * obj1 = new JSONObject();
obj1->Add("something", "else");

JSONObject * obj2 = new JSONObject(); // Leave this object empty

sub2.push_back(obj1);
sub2.push_back(obj2);

main->Add("objects", sub2);

// Export to string
string json = object->toString();

Future

  • Build tests
  • Improve performance and memory usage

About

Header-only C++ library to easily build JSON

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published