A JSON reader and writer which is super-effiecient and usually runs circles around other JSON libraries. It's highly customizable to optimize for your particular project, and very lightweight. For Windows, OSX, or Linux. Works in any language.

Features

  • Lazy or aggressive JSON Parsing
  • 100% JSON compliant
  • Language independent C interface
  • C++ interface
  • Test Suite and Example Projects
  • C and Bash style comment support
  • Automated install via make
  • cplusplus.com - style documentation
  • Streaming ability
  • Security to prevent various forms of Denial of Service

Project Activity

  • Hello, Greetings! While porting to GCC 9, I'm getting an error which says static assertion failed, std::map must have same value as it allocator. I understand that the json allocator doesn't provide same value type and it should be const specified. Can you please help me with this? P.S : I have found similar type of error in this json repo: https://github.com/moya-lang/Allocator/issues/12 Thank you
  • Hello, Greetings! While porting to GCC 9, I'm getting an error which says static assertion failed, std::map must have same value as it allocator. I understand that the json allocator doesn't provide same value type and it should be const specified. Can you please help me with this? P.S : I have found similar type of error in this json repo: https://github.com/moya-lang/Allocator/issues/12 Thank you
  • Hi, I want to use "find_nocase()" method. To get this function, I enabled "JSON_CASE_INSENSITIVE_FUNCTIONS" this flag in JSONOptions.h. I am able to use in my method but while compiling, I get linker error "error LNK2001: unresolved external symbol "public: struct JSONNode::const_iterator __cdecl JSONNode::find_nocase" Please help me to get out this issue.
  • The code - JSONNode topNode; topNode.push_back(JSONNode("Connected", true)); Sometimes this results in std::length error thrown. The decoded callstack - Exception Type: std::length_error Exception what(): basic_string::_S_create <libstdc++ stuff=""> internalJSONNode::Set(bool) JSONNode::JSONNode(std::basic_string<char, std::char_traits<char="">, std::allocator<char> > const&, bool)</char></char,></libstdc++> Your help in understanding why these two lines of code results in the exception sometimes...

See All Activity >

Follow libjson

libjson Web Site

Other Useful Business Software
Get Avast Free Antivirus with 24/7 AI-powered online scam detection
Get Avast Free Antivirus with 24/7 AI-powered online scam detection Icon
Get Avast Free Antivirus with 24/7 AI-powered online scam detection

Get protection for today’s online threats. Free.

Award-winning antivirus protection, as well as protection against online scams, dangerous Wi-Fi connections, hacked accounts, and ransomware. It includes Avast Assistant, your built-in AI partner, which gives you help with suspicious online messages, offers, and more.
Free Download
Rate This Project
Login To Rate This Project

User Ratings

★★★★★
★★★★
★★★
★★
44
0
1
1
1
ease 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 3 / 5
features 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
design 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 4 / 5
support 1 of 5 2 of 5 3 of 5 4 of 5 5 of 5 3 / 5

User Reviews

  • MacOS required some corrections and changes. Line 2 of GNU_C.h fixed misspelling of _GUN_ to _GNU_. From within _internal/Sources directory: ln -s ../Dependencies. make; sudo make install Expect warnings: clang: warning: optimization flag '-fexpensive-optimizations' is not supported clang: warning: argument unused during compilation: '-fast' clang: warning: argument unused during compilation: '-fexpensive-optimizations' g++ -o $@ $< -ljson It all compiles, links, and installs. I have not yet tested it extensively, thus the lack of optional rating.
  • Works as advertised, easy to use.
  • Be careful when you are up to choose this libjson. 1. If you need to handle Unicode ( why not. You have to for handling Twitter & Facebook response. ), make sure that your host app uses GNU C++ standard not strict ANSI C++ standard. if using strict ANSI C++ standard, Unicode support in this library should be turned off. Then it can't handle Unicode escape sequence like \uXXXX. At least it should return \uXXXX if it can't handle the Unicode. As some people pointed out, wouldn't it be better to conver it to UTF-8? Unicode escape sequence is not UTF-8. If Unicode option is off, it will return chopped string at \u. (returns only up to \. eg. "This is \uAC00" yields "This \". 2. Documentation is not clear if it's SOX style or DOM parser style. It turned out that it handles the both, which is good. More accurately speaking, you can achieve SOX-like on by using its iterator. 3. Its build option is also expected to be specified in a header file, JSONOptions.h, which can introduce some odd situation when using this library in your host project.
  • I had to make a change to the make file because of a "No such file or directory". After the change, it worked like a charm. The change is in the install_headers: banner section. cp -rv ./$(srcdir)/Dependencies/ $(include_path)/$(libname_hdr)/$(srcdir) was changed to cp -rv ./$(srcdir)/../Dependencies/ $(include_path)/$(libname_hdr)/$(srcdir)
    1 user found this review helpful.
  • Thanks for Libjson, it's good!
    1 user found this review helpful.
Read more reviews >

Additional Project Details

Registered

2010-04-02