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

自己写的一个 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 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值