Json还是非常有用的一种格式(因为大家都在用),而我又偏爱C++,因项目需求所以稍微了解里下相关的东西,所以来写点C++使用Json心得。
Windows下也可以用,但是需要VS2017或者比较新的VS2015。
配置起来非常方便,只需要#include一个hpp文件即可!
下载地址:http://download.csdn.net/detail/zmdsjtu/9866109
更多的例子见:http://download.csdn.net/detail/zmdsjtu/9866113
然后我们来看一个例子:
#include "json.hpp"
using json = nlohmann::json;
int main()
{
// create JSON objects
json j_no_init_list = json::object();
json j_empty_init_list = json::object({});
json j_list_of_pairs = json::object({ {"one", 1}, {"two", 2} });
// serialize the JSON objects
std::cout << j_no_init_list << '\n';
std::cout << j_empty_init_list << '\n';
std::cout << j_list_of_pairs << '\n';
// example for an exception
try
{
// can only create an object from a list of pairs
json j_invalid_object = json::object({{ "one", 1, 2 }});
}
catch (json::type_error& e)
{
std::cout << e.what() << '\n';
}
}
可以看到结果如下:
{}
{}
{"one":1,"two":2}
[json.exception.type_error.301] cannot create object from initializer list
编译的时候记得-std=C++11 -O3
顺便附上我的CMakeLists.txt
cmake_minimum_required(VERSION 2.8.12)
PROJECT(test)
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O3")
ADD_EXECUTABLE(test object.cpp)
[1]这篇文章主要依托于大佬们的一个有5K stars的github项:https://github.com/nlohmann/json