JSON for Modern C++ 使用总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tayuC/article/details/78185609

 

最近需要用C++实现JSON的序列化与反序列化,在网上苦苦找寻,一开始相中了Jsoncpp,下载下来苦苦编译啊,设置是真心头疼,对于我这个小白来说是真麻烦呀。各种大神的各种经验完全不管用,最后碰巧看到了这个德国大神的巨作。就是我送给你们的玩具啦~~

首先引用两个中文 博客,因为我英文较差,看中文还比较轻松一些。所以从一开始接触这个库就是靠的这两个大神指引道路的。

废话不多说了,那两个博客写的比较详细了,但是我感觉我还是的把我经常用到的功能列出来,也可以补充一下前辈没有说明的东西。

一、国际惯例,使用背景

在自己的项目中添加头文件

#include "json.hpp"

using namespace std;
using json = nlohmann::json;

完美~

using json = nlohmann::json

这句话是C++11的一个新特性。

二、从文件中读取多个json对象

从文件中读取多个JSON对象并把每个对象中的每个key读出来

	json j;
	ifstream ifile("logService.json");
	if (ifile.fail()) {
		cout << "..." << endl;
		return 0;
	}
	string str;
	while (!ifile.eof())
	{
		std::getline(ifile, str);
		j = json::parse(str);
		cout << setw(4) << j << endl;
		cout << "++++++++++++++++++++++++++++++++";
		for (json::iterator i = j.begin(); i != j.end(); ++i)
		{
			
			cout << "key:"<<i.key()<< endl;
		}

	}

JSON.hpp中支持了STL的语法,可以用迭代器。

Json文件中不可以有换行符\n

猜你喜欢

转载自blog.csdn.net/tayuC/article/details/78185609