[C++ Json开源库] nlohmann安装与使用

nlohmann简介

nlohmann json GitHub - nlohmann/json: JSON for Modern C++ 是一个为现代C++(C++11)设计的JSON解析库,主要特点是:

1、易于集成,仅需一个头文件,无需安装依赖
2、易于使用,可以和STL无缝对接,使用体验近似python中的json

安装

Linux下:

git clone https://github.com/nlohmann/json.git

拉取nlohmann库文件

使用

自己建立一个项目工程文件夹,将include下的molhmann文件夹复制到自己工程下的include文件夹下

测试工程文件结构:

在这里插入图片描述

测试的json文件

{
	"pi":3.1415,
	"happy":true
}

主文件

#include "nlohmann/json.hpp"
#include <fstream>
#include <iostream>
using json = nlohmann::json;
int main(int argc,char *argv[]) {
	json j;			// 创建 json 对象
    if(argc == 1){
	    std::ifstream jfile("./test/test.json");
        jfile >> j;		// 以文件流形式读取 json 文件
    }
    else if(argc == 2){
	    std::ifstream jfile(argv[1]);
        jfile >> j;		// 以文件流形式读取 json 文件
    }
    else{
        std::cout << "ERROR: Parameters are too many!" << std::endl;
        return -1;
    }

	float pi = j.at("pi");
	bool happy = j.at("happy");
    std::cout << "pi: " << pi << std::endl;
    std::cout << "happy: " << happy << std::endl;
	return 0;
}

编写build.sh脚本文件

#!/bin/bash
US="../"
cd $US
g++ ./Parse/parse.cpp -I ./include -o ./bin/parse

在build目录下给build.sh运行权限,以bash运行

chmod 755 build.sh

然后

./build.sh

会在工程文件夹的bin目录下生成可执行文件parse

编写run.sh脚本文件

#!/bin/bash
FILENAME="test.json"
./parse ../test/${FILENAME}

在bin目录下给run.sh运行权限,以bash运行

chmod 755 build.sh

然后

./run.sh

结果输出:

pi: 3.1415
happy: 1

注意:如果想要更改测试文件,只需要将run.sh文件中FILENAME="test.json"引号中的文件名改成想要测试的文件名即可。

具体语法文档:https://github.com/nlohmann/json/blob/develop/README.md
中文简易版语法文档可以参考:https://www.cnblogs.com/linuxAndMcu/p/14503341.html

要在C++使用JSON,你可以选择安装一些流行的开源库,如jsoncpp、rapidjsonnlohmann/json。下面是安装这些的一些基本步骤: 1. jsoncpp:这是一个跨平台的C++ JSON。你可以从它的GitHub仓(https://github.com/open-source-parsers/jsoncpp)下载源代码。 - 使用以下命令克隆jsoncpp的源代码到本地目录中: ``` git clone https://github.com/open-source-parsers/jsoncpp.git ``` - 进入jsoncpp目录: ``` cd jsoncpp ``` - 创建一个build目录,并进入该目录: ``` mkdir build cd build ``` - 使用CMake生成项目文件: ``` cmake .. ``` - 编译并安装: ``` make sudo make install ``` - 安装完成后,你可以在你的C++项目中使用jsoncpp了。 2. rapidjson:这是一个快速的C++ JSON解析生成器。你可以从它的GitHub仓(https://github.com/Tencent/rapidjson)下载源代码。 - 使用以下命令克隆rapidjson的源代码到本地目录中: ``` git clone https://github.com/Tencent/rapidjson.git ``` - 将rapidjson目录中的`include/rapidjson`目录复制到你的项目中。 - 在你的C++项目中包含rapidjson的头文件即可开始使用。 3. nlohmann/json:这是一个现代化的C++ JSON,可以使用简单的API进行操作。你可以从它的GitHub仓(https://github.com/nlohmann/json)下载源代码。 - 使用以下命令克隆nlohmann/json的源代码到本地目录中: ``` git clone https://github.com/nlohmann/json.git ``` - 将nlohmann/json目录中的`single_include/nlohmann`目录复制到你的项目中。 - 在你的C++项目中包含nlohmann/json的头文件即可开始使用。 这些是一些常用的C++ JSON,你可以根据自己的需求选择合适的使用安装完成后,你就可以使用这些来解析和生成JSON数据了。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值