Json11 - es una pequeña biblioteca JSON para C++ 11, proporcionando JSON análisis y la serialización.
El objeto principal proporcionado por la biblioteca es json11 :: Json. Un objeto Json representa cualquier valor JSON: null, bool, number (int o double), string (std :: string), array (std :: vector) u objeto (std :: map).
Los objetos Json actúan como valores. Se pueden asignar, copiar, mover, comparar por igualdad u orden, y así sucesivamente. También hay métodos auxiliares Json :: dump, para serializar un Json en una cadena, y Json :: parse (estático) para analizar una std :: cadena como un objeto Json.
Ejemplo:
const string simple_test =
R"({"k1":"v1", "k2":42, "k3":["a",123,true,false,null]})";
string err;
auto json = Json::parse(simple_test, err);
std::cout << "k1: " << json["k1"].string_value() << "\n";
PicoJSON - es una pequeña JSON analizador/serializador para C++ con propiedades siguientes:
- cabecera de archivo sólo
- sin dependencias externas (únicos usos bibliotecas estándares de C++)
- STL-frendly (las matrices son repr esented utilizando std :: vector, los objetos son std :: mapa)
- proporciona tanto la interfaz de tracción y de secuencias() de la interfaz basada en eventos
Ejemplo:
std::string json1 = R"({ "k1":"v1", "k2" : 42, "k3" : ["a",123,true,false,null] })";
picojson::value v;
std::string err1 = picojson::parse(v, json1);
const picojson::object& o = v.get<picojson::object>();
for (picojson::object::const_iterator i = o.begin(); i != o.end(); ++i) {
std::cout << i->first << " " << i->second << std::endl;
}
Tanto fácilmente utilizado en Visual Estudio con libriries estándar (NO ninguna dependencia adicional).
Prueba esto: [Json11] (https://github.com/dropbox/json11) o [PicoJSON] (https://github.com/kazuho/picojson). Sin BOOST. – Sergo