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

打印 上一主题 下一主题

主题 656|帖子 656|积分 1968

nlohmann简介

nlohmann json GitHub - nlohmann/json: JSON for Modern C++ 是一个为现代C++(C++11)筹划的JSON解析库,主要特点是:
1、易于集成,仅需一个头文件,无需安装依赖
2、易于使用,可以和STL无缝对接,使用体验近似python中的json
安装

Linux下:
  1. git clone https://github.com/nlohmann/json.git
复制代码
拉取nlohmann库文件
使用

自己创建一个项目工程文件夹,将include下的molhmann文件夹复制到自己工程下的include文件夹下。
测试工程文件结构:

测试的json文件
  1. {
  2.         "pi":3.1415,
  3.         "happy":true
  4. }
复制代码
主文件
  1. #include "nlohmann/json.hpp"
  2. #include <fstream>
  3. #include <iostream>
  4. using json = nlohmann::json;
  5. int main(int argc,char *argv[]) {
  6.         json j;                        // 创建 json 对象
  7.     if(argc == 1){
  8.             std::ifstream jfile("./test/test.json");
  9.         jfile >> j;                // 以文件流形式读取 json 文件
  10.     }
  11.     else if(argc == 2){
  12.             std::ifstream jfile(argv[1]);
  13.         jfile >> j;                // 以文件流形式读取 json 文件
  14.     }
  15.     else{
  16.         std::cout << "ERROR: Parameters are too many!" << std::endl;
  17.         return -1;
  18.     }
  19.         float pi = j.at("pi");
  20.         bool happy = j.at("happy");
  21.     std::cout << "pi: " << pi << std::endl;
  22.     std::cout << "happy: " << happy << std::endl;
  23.         return 0;
  24. }
复制代码
编写build.sh脚本文件
  1. #!/bin/bash
  2. US="../"
  3. cd $US
  4. g++ ./Parse/parse.cpp -I ./include -o ./bin/parse
复制代码
在build目次下给build.sh运行权限,以bash运行
  1. chmod 755 build.sh
复制代码
然后
  1. ./build.sh
复制代码
会在工程文件夹的bin目次下生成可执行文件parse
编写run.sh脚本文件
  1. #!/bin/bash
  2. FILENAME="test.json"
  3. ./parse ../test/${FILENAME}
复制代码
在bin目次下给run.sh运行权限,以bash运行
  1. chmod 755 build.sh
复制代码
然后
  1. ./run.sh
复制代码
效果输出:
  1. pi: 3.1415
  2. happy: 1
复制代码
留意:假如想要更改测试文件,只需要将run.sh文件中FILENAME="test.json"引号中的文件名改成想要测试的文件名即可。
   具体语法文档:https://github.com/nlohmann/json/blob/develop/README.md
中文浅显版语法文档可以参考:https://www.cnblogs.com/linuxAndMcu/p/14503341.html

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

不到断气不罢休

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表