自己写的一个 C++ 通用类型库,支持 json 格式的序列化,代码已经上传
Github ,
点击下载。
源码只有4个文件,两个类,直接拷贝到自己工程中使用即可。另外上传的代码中提供了一个 demo.cpp , 若在 mac 或者 linux 下,make 一下 然后 ./demo 运行,可以看到结果。
下面介绍下基本的使用。
从 json 文件中读取数据
toJson 获得字符串后您可以将它保存到任何地方。
另外,sgVar 从 lua 中获取数据的方法,请看我的另一篇文章 http://www.shannap.com/sgvar-from-lua.html
源码只有4个文件,两个类,直接拷贝到自己工程中使用即可。另外上传的代码中提供了一个 demo.cpp , 若在 mac 或者 linux 下,make 一下 然后 ./demo 运行,可以看到结果。
下面介绍下基本的使用。
从 json 文件中读取数据
sgJsonParser parser;
sgVar doc = parser.parse("demo.json");
if(parser.fail())
{
std::cout << parser.getErrorMsg() << "\n";
return 1;
}
序列化到 json 格式
std::string json_str = doc.toJson();
toJson 获得字符串后您可以将它保存到任何地方。
使用 sgVar
sgVar val; // create a null var
val[0] = 11; // make val be an array
val[2] = "hello sgVar"; // val[1] will be a null var
sgVar &vMap = val[3]; // create a null var
vMap["pi"] = 3.14; // make vMap be a map
/****** get value from var ******/
bool isFloat = vMap["pi"].isFloat(); // check a var is float
double pi = vMap["pi"].toFloat(); // get the float value of a var
int i0 = val[0].toInt(); // get the int value of a var
std::string str = val[2].toString(); // get the string value of a var