JSON

[C++11版]Ubuntu下Json的使用

字号+ 作者:H5之家 来源:H5之家 2017-07-30 10:02 我要评论( )

Json还是非常有用的一种格式(因为大家都在用),而我又偏爱C++,因项目需求所以稍微了解里下相关的东西,所以来写点C++使用Json心得。 Windows下也可以用,但是

Json还是非常有用的一种格式(因为大家都在用),而我又偏爱C++,因项目需求所以稍微了解里下相关的东西,所以来写点C++使用Json心得。

Windows下也可以用,但是需要VS2017或者比较新的VS2015。

 

配置起来非常方便,只需要#include一个hpp文件即可!

下载地址:

更多的例子见:

 

然后我们来看一个例子:

#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

 

本文永久更新地址:

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评