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
一.JSON简介 JSON全称为JavaScript ObjectNotation,它是一种轻量级的数据交换格式,易于阅读.编写.解析. JSON由两种基本结构构成: )"名称/值" ...
- 使用jsoncpp解析生成json
在此站点下载jsoncpp(https://sourceforge.net/projects/jsoncpp/这个站点的版本较旧) 在电脑上安装Python,运行amalgamate.py,生成的di ...
- jsoncpp解析非json串
转自:https://www.cnblogs.com/huojing/articles/5927488.html 由于Jsoncpp解析非法json时,会自动容错成字符类型.对字符类型取下标时,会触发 ...
- C++处理Json串——jsoncpp库
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml类似,本文主要对VS2008中使用Jsoncpp解析json的方法做一下记录.Jsoncpp是个跨 ...
- Qt之JSON生成与解析
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - December ...
- 【转载】Qt之JSON生成与解析
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - December ...
- C++ Json工具--Jsoncpp用法简介
文章目录 Json简介 用法简介 数据类型 C++代码示例 代码执行输出结果 JSON在线解析及格式化验证 - JSON.cn Json简介 JSON(JavaScript Object Notati ...
- C++ json库jsoncpp 吐槽
Explain 最近在做游戏接入SDK时用到C++的json库jsoncpp,jsoncpp 是一款优秀的json库,但恶心的一点是它采用Assert作为错误处理方法,而assert在linux下通过 ...
- 关于json格式字符串解析并用mybatis存入数据库
园子里面找了很多关于json解析后存入数据库的方法,不是太乱,就是没有写完,我下面的主题代码多是受下面两位的启发,请按顺序查看 http://www.cnblogs.com/tian830937/p/ ...
随机推荐
- 通过OnResultExecuted设置返回内容为JSONP
public class JsonpAttribute : ActionFilterAttribute { /// <summary> /// 在执行操作结果后更改返回结果 /// < ...
- JVM_垃圾回收串行、并行、并发算法(总结)
一.串行 JDK1.5前的默认算法 缺点是只有一个线程,执行垃圾回收时程序停止的时间比较长 语法 -XX:+UseSerialGC 新生代.老年代使用串行回收 新生代复制算法 老年代标记-压缩 示例图 ...
- C#-WinForm-Winform TextBox中只能输入数字的几种常用方法(C#)
方法一: private void tBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 0x20) e.KeyCh ...
- 正则表达式 match 和 exec 比较
match 和 exec 主要有两点不同: 1.exec是正则表达式的方法,而不是字符串的方法,它的参数才是字符串,如下所示: var re=new RegExp(/\d/); re.exec( &q ...
- FragmentPagerAdapter+ViewPager+Fragment
FragmentPagerAdapter中会在滑动到2页时,会预加载第三个页面.如果在这些页面中都有网络请求,那么当你还没有看到第三页时,第三页的数据请求已经发出.这样就会造成,当已进入该页面,可能会 ...
- python标准模块(三)
本文会涉及到的模块: subprocess logging 1. subprocess 可以执行shell命令的相关模块和函数有: os.system os.spawn os.popen --废弃 p ...
- C#对文件/目录的操作:Path、File、Directory、FileStream、StreamReader、StreamWriter等类的浅析
以下类的命名空间都是:System.I/0; 一.Path:主要对文件路径的操作! 常用方法: String path=@"C:\a\b\c\123.txt"; 1-1.Path. ...
- Root--超级用户
http://www.shuame.com/root/ root (计算机术语言) ROOT存在于Linux系统.UNIX系统(如AIX.BSD等)和类UNIX系统(如稳定到服务器都在用的Debia ...
- nginx 和 IIS 实现负载均衡
Nginx的作用和优点,这里不必多说,今天主要是nginx负载均衡实验,把做的步骤记录下来,作为一个学习笔记吧,也可以给大家做下参考. 1.Nginx安装 1.下载地址:http://nginx.or ...
- POJ 2478 Farey Sequence
名字是法雷数列其实是欧拉phi函数 Farey Sequence Time Limit: 1000MS Memory Limit: 65536K Total Submi ...