[C++][原创]nlohman的json简单使用
Posted FL1623863129
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[C++][原创]nlohman的json简单使用相关的知识,希望对你有一定的参考价值。
nlohmann/json 是一个用于解析json的开源c++库,使用方便直观。
nlohmann库
nlohmann库(https://github.com/nlohmann/json)提供了丰富而且符合直觉的接口(https://json.nlohmann.me/api/basic_json/),只需导入头文件即可使用,方便整合到项目中。
#include <iostream>
#include <fstream>
#include <nlohmann/json.hpp>
using json = nlohmann::json;
using namespace std;
int main(int argc, char *argv[])
std::string json_data = "\\"name\\":\\"Alice\\",\\"age\\":18,\\"weight\\":120.1";
json data_dict = json::parse(json_data);
std::string name = data_dict["name"]; // 获取字符串值,方法1
std::string name1 = data_dict.at("name"); // 获取字符串值,方法2
int age = data_dict["age"].get<int>(); // 获取Int值
float weight = data_dict["weight"].get<float>(); // 获取float值
std::string data = data_dict.dump(); // json转字符串
if (data_dict.contains("name")) // 判断是否存在某个键
std::cout << "name in key!\\n";
if (!data_dict.contains("cloth")) // 判断是否存在某个键
std::cout << "cloth not in key!\\n";
//循环遍历键值对
for (auto& x : data_dict.items())
std::cout << "key: " << x.key() << ", value: " << x.value() << '\\n';
std::cout << data << std::endl;
return 0;
以上是关于[C++][原创]nlohman的json简单使用的主要内容,如果未能解决你的问题,请参考以下文章
[软件工具][原创]使用软件实现labelme批量json_to_dataset最简单方法