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

这篇具有很好参考价值的文章主要介绍了[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文件夹下

测试工程文件结构:

nlohmann/json库 安装,C/C++,c++,开发语言,json

测试的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文章来源地址https://www.toymoban.com/news/detail-847176.html

到了这里,关于[C++ Json开源库] nlohmann安装与使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • c语言-json开源库cJSON的使用

    一、cJSON的介绍     cJSON是一个开源的JSON解析器,用于解析JSON数据。它是由纯C语言实现,因此跨平台性好,移植简单。 下载地址: 二、移植方法     cJSON只有一个cjson.c和cjson.h文件,可以很方便地集成到其他项目中。cJSON支持将JSON数据解析为cJSON对象,也支持将cJSON对象转

    2024年04月29日
    浏览(33)
  • nlohmann json:类型检查

    nlohmann提供了成员函数type(),用于返回当前的json数据类型: 可以根据type进行类型检查:

    2024年02月13日
    浏览(36)
  • nlohmann json:通过items遍历object/array

    编译运行输出: key: one, value: 1 key: two, value: 2 key: 0, value: 1 key: 1, value: 2 key: 2, value: 4 key: 3, value: 8 key: 4, value: 16  可以看到对于object可以通过key()和value()拿到键值对 对

    2024年02月13日
    浏览(45)
  • nlohmann json:实现map和struct的互转

    可以借助json实现map和struct的互转:

    2024年02月11日
    浏览(45)
  • nlohmann::json 超简单序列化反序列化

    2024年01月20日
    浏览(38)
  • c++ nlohmann/json 及修改json文件中个别关键字 JSON的三种格式https://blog.csdn.net/daxiong0816/article/details/125132404

    (2条消息) nlohmann json使用_nlohmann::json_蜗牛单行道的博客-CSDN博客json为JavaScript object notation 是一种数据格式,逐渐替换掉了传统的xml 。json数据格式的属性名称和字符串值需要用双引号引起来,用单引号或者不用引号会导致读取数据错误。json的另外一个数据格式是数组,和jav

    2024年02月08日
    浏览(55)
  • C++ vs2015编译json和protobuf报错nlohmann::detail::static_constnlohmann::detail::to_json_fn::value‘

    补充:这个问题也会导致protobuf编译和使用报错,按照本方法修复后问题解决 只要引入项目中的 #include “nlohmann/json.hpp” 用vs2015编译就会报错,甚至用vs2022的Visual Studio 2015 (v140)工具集编译也会报同样的错误,错误信息如下: 参考这篇博客“JSON for Modern C++ vs2015 企业版和专业

    2024年02月05日
    浏览(75)
  • 【嵌入式开源库:cJSON】 一个轻量级C语言JSON数据解析库用法详解

    cJSON是使用C语言编写,用来创建、解析JSON文件的库。cJSON特点就是工程文件简单,只有 一个.c 和 一个.h ,但提供函数接口功能齐全,麻雀虽小五脏俱全,使得在嵌入式工程中使用起来得心应手。 https://github.com/DaveGamble/cJSON 只需拉取 cJSON.c 和 cJSON.h 即可。 给出如下JSON格式示

    2023年04月26日
    浏览(87)
  • 使用 pnpm + Monorepo + rollup 实现Psd、Sketch 转 json开源库, 该json支持作为fabric.js画布模板

    最近使用 pnpm + Monorepo + rollup 开源了一个工具库 tojson.js tojson.js 是一个支持解析 Psd、Sketch 转 json 的类库, 该 json 满足 fabric.js 画布渲染的数据格式. 后期也会增加 ppt、pdf 格式 为什么要使用 pnpm + Monorepo ? 不止开源了一个工具库 tojson.js, 也开源了 sketchtojson, pst-json.js 库, tojson.j

    2024年01月20日
    浏览(39)
  • 【json-server】json-server安装与使用:

    一、下载安装: 【json-server网址】https://www.npmjs.com/package/json-server 二、启动db.json数据及相关参数: 参数 简写 默认值 说明 –config -c 指定配置文件 [默认值: “json-server.json”] –port -p 设置端口 [默认值: 3000] –host -H 设置域 [默认值: “0.0.0.0”] –watch -w Watch file(s) 是否监听 –

    2024年02月13日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包