jsoncpp小实例

1:安装json库:

sudo apt-get install  libjsoncpp0     libjsoncpp-dev

2:编译方式:编译时加上库路径 

g++ my_test_jsoncpp.cpp  -L/usr/lib/x86_64-linux-gnu  -ljsoncpp   -o my_test

3:json数据解析:

 
   #include<jsoncpp/json/json.h>
   int main()
   {
       const char* s = "{\"uploadid\": \"UP000000\",\"code\": 100,\"msg\": \"\"    ,\"files\": \"\"}"; 
       Json::Reader reader;
       Json::Value root;
       if (!reader.parse(s, root))
       {
          return -1;
      }   
      
      std::string name = root["uploadid"].asString();
      int age = root["code"].asInt();
      
      std::cout<<name<<std::endl;
      std::cout<<age<<std::endl;
      
      return 0;
  }   

结果如下:


4:json数据封装(FastWriter 方式

 #include<jsoncpp/json/json.h>
   int main()
   {
       Json::Reader reader;
       Json::Value root;
       Json::Value root1;
       Json::FastWriter fwrite;
      Json::StyledWriter swriter;
  
      root1["name"] = "hello";
      root1["age"] = 100;
      root.append(root1);
  
      std::string json_str=fwrite.write(root1);
      std::string str = fwrite.write(root);
  
     std::cout<<json_str<<std::endl;
      std::cout<<str<<std::endl;
  
      return 0

}

输出结果如下:

root1 被转化为json对象数据格式

root 被转化为json数组数据格式


猜你喜欢

转载自blog.csdn.net/qq_39101111/article/details/79026922