Json---使用Jsoncpp解析与写入

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Json---使用Jsoncpp解析与写入相关的知识,希望对你有一定的参考价值。

上述Json解析使用的是Jsoncpp,要使用Jsoncpp,得做如下几步的配置:

  1.首先从http://sourceforge.net/projects/jsoncpp/下载,压缩包大约105k。

  2.解压之后,将include文件夹、src下的lib_json文件夹,拷贝至你的项目中。

技术分享

  3.项目属性->C/C++->常规->附加包含目录  添加3个路径:①..\include、 ②..\include\json、 ③..\lib_json。

  4.项目中添加lib_json下的3个cpp文件:①json_reader.cpp  ②json_value.cpp  ③json_writer.cpp。并右键这三cpp文件,属性->C/C++->预编译头->创建/使用预编译头->不使用预编译头。否则编译报错。

  5.项目cpp中#include "json.h"。

  这样就可以愉快的使用Jsoncpp解析Json了。

 

  JsonDemo.cpp:

#include <fstream>
#include "json.h"
using namespace std;

int JsonRead()
{
ifstream ifs;
ifs.open("testR.json");

Json::Reader reader;
Json::Value root;
if (!reader.parse(ifs,root,false))
{
return -1;
}

string name = root["name"].asString();
int age = root["age"].asInt();

cout<<name<<endl;
cout<<age<<endl;
getchar();
return 0;
}

int JsonWrite()
{
Json::Value root;
Json::FastWriter writer;
Json::Value person;

person["name"] = "往事随风";
person["age"] = 23;
root.append(person);

string json_file = writer.write(root);

ofstream ofs;
ofs.open("testW.json");
ofs<<json_file;
getchar();
return 0;
}

int main()
{
JsonRead();
JsonWrite();
return 0;
}

以上是关于Json---使用Jsoncpp解析与写入的主要内容,如果未能解决你的问题,请参考以下文章

C++ 解析Json——jsoncpp

详解将jsoncpp编译so库,进行封装和解析JSON数据

JsonCpp解析和读写Json字符串

JsonCpp解析和读写Json字符串

C++的Json解析库:jsoncpp和boost(转)

基于开源库jsoncpp的json字符串解析