[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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

FL1623863129

你的打赏是我写文章最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值