configor
v0.9.21


C ++ 11을위한 경량 구성 라이브러리.
en | 中文
JSON 개체 생성 :
json::value j;
j[ " integer " ] = 1 ;
j[ " float " ] = 1.5 ;
j[ " string " ] = " something " ;
j[ " boolean " ] = true ;
j[ " user " ][ " id " ] = 10 ;
j[ " user " ][ " name " ] = " Nomango " ;
json::value j2 = json::object{
{ " null " , nullptr },
{ " integer " , 1 },
{ " float " , 1.3 },
{ " boolean " , true },
{ " string " , " something " },
{ " array " , json::array{ 1 , 2 } },
{ " object " , json::object{
{ " key " , " value " },
{ " key2 " , " value2 " },
}},
};전환 및 직렬화 :
struct User
{
std::string name;
int age;
// bind custom type to configor
CONFIGOR_BIND (json::value, User, REQUIRED(name), OPTIONAL(age))
};
// User -> json
json::value j = User{ " John " , 18 };
// json -> User
User u = json::object{{ " name " , " John " }, { " age " , 18 }};
// User -> string
std::string str = json::dump(User{ " John " , 18 });
// string -> User
User u = json::parse( " { " name " : " John " , " age " : 18} " );
// User -> stream
std::cout << json::wrap(User{ " John " , 18 });
// stream -> User
User u;
std::cin >> json::wrap (u);위키에서 자세히 알아보십시오.