libjson cannot be used if compiled with -std=c++11 due to failure to resolve certain overloaded method calls. The problem comes from libjson treating this is "ISO_STRICT" and disabling overloads that take the data type 'long long', which is defined in -std=c++11 mode. This leads to errors like:
error: call of overloaded ‘JSONNode(const char , long long int)’ is ambiguous
...as gcc does not consider JSONNode(const json_string&, long int) as an unambiguous match.
I believe libjson should either not force JSON_ISO_STRICT in C++11 mode (whether with or without GNU extensions), or must at least recognize that absence of GNU extensions does not necessarily mean that 'long long' should not be used.