有幸能接触到这个,这是我遇到的使用最方便的json了,效率没研究过!

简单了使用了下,感觉非常好用,记录下:

要使用这个json,只需要使用json.hpp就行,放入自己的工程里,但是我这里是安装过的,为了其他项目也能使用!

环境: Mac OS X 10.12.6, Xcode(Version 8.3.3 (8E3004b))

安装:

brew tap nlohmann/json
brew search nlohmann
brew info nlohmann/json/nlohmann_json
brew install nlohmann/json/nlohmann_json

安装就是第1,4两句, 等待安装完成就行!

开发: 新建一个c++控制台程序,添加以下代码:

//
//  main.cpp
//  hello
//
//  Created by zcm on 2019/2/18.
//  Copyright © 2019年 zcm. All rights reserved.
//#include <iostream>
#include <vector>
#include "nlohmann/json.hpp"using namespace std;
using json = nlohmann::json;int main(int argc, const char * argv[]) {json j2 = {{"pi", 3.141},{"happy", true},{"name", "Niels"},{"nothing", nullptr},{"answer", {{"everything", 42}}},{"list", {1, 0, 2}},{"object", {{"currency", "USD"},{"value", 42.99}}}};cout << j2.dump() << endl;// this writing looks goodauto j = R"({"happy": true,"pi": 3.141,"arr": [1, 4, 6]})"_json;cout << j << endl;j = json::parse("{ \"happy\": false, \"pi\": 3.141 }");j["pi"] = 3.666;                // 修改键值j.emplace("pi2", 3.5);         // 如果键不存在, 则添加j["add"] = {{"pi", 4.5}, {"p", 6}};cout << j << endl;for(auto& i : j.items())      // 遍历键值对{cout << i.key() << " : " << i.value() << endl;}if(j.find("pi") != j.end())        // 键存在cout << j["pi"] << endl;cout << j.count("add") << endl;   // count()返回1表示键存在, 否则不存在vector<int> v {1, 5, 7};json j3(v);                      // 通过vector初始化jsoncout << j3 << endl;return 0;
}

项目配置,增加:

运行结果:

{"answer":{"everything":42},"happy":true,"list":[1,0,2],"name":"Niels","nothing":null,"object":{"currency":"USD","value":42.99},"pi":3.141}
{"arr":[1,4,6],"happy":true,"pi":3.141}
{"add":{"p":6,"pi":4.5},"happy":false,"pi":3.666,"pi2":3.5}
add : {"p":6,"pi":4.5}
happy : false
pi : 3.666
pi2 : 3.5
3.666
1
[1,5,7]
Program ended with exit code: 0

注意: 必须开启c++11 编译选项

======================================

再补充说明下,上图:

[json] JSON for Modern C++相关推荐

  1. java 对象转json json转对象

    java 对象转json json转对象 import com.alibaba.fastjson.JSON;/*** * @title: fastjson * @author: wll* @since ...

  2. 报错解决:fatal error: json/json.h: No such file or directory

    晚上在做编译原理作业的时候遇到了报错: ASTNodes.h:6:23: fatal error: json/json.h: No such file or directory#include < ...

  3. 解决Ubuntu16.04 fatal error: json/json.h: No such file or directory

    参考博客 错误产生 安装json-c库之后,根据GitHub上面的readme文件链接到json-c库时出现以下错误: SDMBNJson.h:9:23: fatal error: json/json ...

  4. Newtonsoft.Json(Json.Net)学习笔记

    Newtonsoft.Json 在Vs2013中就有自带的: 下面是Json序列化和反序列化的简单封装: /// <summary>/// Json帮助类/// </summary& ...

  5. C/C++由字符串转JSON/JSON转字符串/数组解析/数组添加

    字符串转成JSON(其中str为字符串) 1 2 3 4 5 Json::Reader Reader; Json::Value DevJson; Reader.parse(str,DevJson); ...

  6. powershell /遍历/psobject/字符串转换Json/json数组操作

    读取json文档 $json = (Get-Content "C:\HDDList.json" -Raw) | ConvertFrom-Json $select=$json.Con ...

  7. C#如何Json转字符串;字符串转Json;Newtonsoft.Json(Json.Net)

    什么是JSON C#如何Json转字符串 字符串转Json Newtonsoft.Json(Json.Net)学习笔记(转) 转载于:https://www.cnblogs.com/macT/p/90 ...

  8. html解释json,json 解析

    这种json怎么解析?[ "1", "2", "3", "4" ] 就是个数组,但json格式化居然显示为合理的. [ ...

  9. fastjson 判断是否包含_Fastjson, Gson, org.json.JSON三者对于JSONObject及JSONArray的判断

    1.Fastjson 我们通常在已知格式的情况下直接使用JSONObject,JSONArray,但是如果遇到需要判断格式呢? try{ Object object=JSON.parse(a);if ...

  10. Newtonsoft.Json Json.NET - Newtonsoft

    手机端应用讲究速度快,体验好.刚好手头上的一个项目服务端接口有性能问题,需要进行优化.在接口多次修改中,实体添加了很多字段用于中间计算或者存储,然后最终用Newtonsoft.Json进行序列化返回数 ...

最新文章

  1. git清空工作区和暂存区
  2. 计算机应用基础在powerpoint中,计算机应用基础PowerPoint习题1
  3. Spring:设置日志依赖项
  4. leetcode979. 在二叉树中分配硬币(dfs)
  5. android emulator虚拟设备分析第三篇之pipe上的qemud service
  6. TPAMI 2021 华为诺亚悉尼大学陶大程团队提出多功能卷积,助力轻量级网络
  7. 优化 Go 中的 map 并发存取
  8. 如何不显示index.php,tp如何隐藏index.php
  9. python中怎么调整代码字体格式_PyCharm中代码字体大小调整方法
  10. Oracle 同音字查询,汉字的演变过程100字,汉字的演变图片
  11. RaspberrIPCam – Full HD IP Camera based on Raspberry Pi
  12. 智能芯片与系统基础知识(AI芯片)
  13. [校招] 英文句子单词反转 - 哔哩哔哩 2020
  14. 学习——学习能力是最重要的能力
  15. [宅]最近3个月的宅生活
  16. 计算机键盘复制键,键盘按键设置复制粘贴的方法
  17. 如何搭建一个自己的音乐播放器-使用腾讯云轻量应用服务器搭建YesPlayMusic网易云播放器
  18. 量子计算机量子信息研讨会,2015全国量子信息与量子计算机前沿研讨会在我校召开...
  19. 智能三子棋——保姆级教学。
  20. 高斯拉普拉斯卷积核去除噪声

热门文章

  1. 让Windwos Server 2008 R2 SP1的FTP真正能访问
  2. freebsd点到点的ipsec ***
  3. 如何不部署Keras / TensorFlow模型
  4. python交互式和文件式_使用Python创建和自动化交互式仪表盘
  5. 泰坦尼克数据集预测分析_探索性数据分析-泰坦尼克号数据集案例研究(第二部分)
  6. koa2异常处理_读 koa2 源码后的一些思考与实践
  7. 袋装决策树_袋装树是每个数据科学家需要的机器学习算法
  8. leetcode 368. 最大整除子集(dp)
  9. linux渗透测试_渗透测试:选择正确的(Linux)工具栈来修复损坏的IT安全性
  10. php amazon-s3_推荐亚马逊电影-一种协作方法