sgVar – a json parser/generator and var lib for c++

来源:互联网 发布:成都蜀美网络 编辑:程序博客网 时间:2024/06/05 15:15
自己写的一个 C++ 通用类型库,支持 json 格式的序列化,代码已经上传 Github , 点击下载。 

另外,sgVar 从 lua 中获取数据的方法,请看我的另一篇文章 http://www.shannap.com/sgvar-from-lua.html

sgVar – a json parser/generator and var lib for c++


源码只有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 varval[0] = 11;                // make val be an arrayval[2] = "hello sgVar";     // val[1] will be a null varsgVar &vMap = val[3];       // create a null varvMap["pi"] = 3.14;          // make vMap be a map/****** get value from var ******/bool isFloat = vMap["pi"].isFloat();    // check a var is floatdouble pi = vMap["pi"].toFloat();    // get the float value of a varint i0 = val[0].toInt();             // get the int value of a varstd::string str = val[2].toString(); // get the string value of a var

原创粉丝点击