写了个webserver,同事要求用json解析。之前老用JsonCpp,现在都有点忘了,现在记录一下解析json串。
使用跨平台的开源库JsonCpp来解析Json。
1、下载jsoncpp

下载地址:
https://github.com/open-source-parsers/jsoncpp

2、使用Jsoncpp包中的.cpp和.h文件

解压上面下载的jsoncpp-master.zip文件,把jsoncpp-master\include\json文件夹和jsoncpp-master\src\lib_json文件夹保留下来,其他删掉。

在需要使用JsonCpp的文件中包含json头文件即可
工程中需要包含如下文件:

json/json.h
json_reader.cpp
json_value.cpp
json_writer.cpp

Makefile中可这么添加
注:jsoncpp-master文件夹和Makefie处在同一目录下

INCLUDE = -Ijsoncpp-master/include
VPATH   = log:jsoncpp-master/src/lib_json

OBJ = json_reader.o json_value.o json_writer.o
//解析串 char* p
Json::Reader reader;  
Json::Value root;  
if (reader.parse(p, root))  // reader将Json字符串解析到root,root将包含Json里所有子元素  
{  
    std::string upload_id = root["template"].asString();  // 访问节点template
    int code = root["id"].asInt();    // 访问节点id
}
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐