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

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项:  地址


就先这样吧,有问题欢迎留言交流



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

朱铭德

五毛也是爱٩(●´৺`●)૭

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值