IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 非常好用的C++JSON库 -> 正文阅读

[C++知识库]非常好用的C++JSON库

GitHub地址:

GitHub - j05070415/RJson: C++ JSON library base on rapidjsonC++ JSON library base on rapidjson. Contribute to j05070415/RJson development by creating an account on GitHub.https://github.com/j05070415/RJson.git

示例代码

JSON创建

RValue o1(alloc);
o1["phone"] = 123455;
o1["name"] = "jone";
o1["addr"] = "xxx@asdfasf";
o1["object"]["name"] = "smith";
o1["object"]["age"] = "13";
o1["array"].append("david");
o1["array"].append(99.1234567);
o1["array"].append(true);
o1["array"].append(-123);

JSON序列化和反序列化

std::string str = "{\"count\":2,\"names\":[\"zhangsan\",wangwu\"]}";
auto doc1 = RDocument::fromJson(str.c_str(), str.size());
auto text = doc1.toJson();

Array类型增删改查

std::string str = "{\"count\":2,\"names\":[{\"name\":\"zhangsan\"},{\"name\":\"wangwu\"}]}";
auto doc = RDocument::fromJson(str.c_str(), str.size());
auto names = doc["names"];
printf("size:%d\n", names.size());
for (unsigned int i=0; i<names.size(); ++i) {
    auto name = names[i];
    qDebug() << name["name"].toString().c_str();
}

Object类型增删改查

RValue o1(alloc);
o1["phone"] = 123455;
o1["name"] = "jone";
o1["name"] = "jone1";
o1.remove("name");

空对象创建及修改

RValue value(alloc);
value["age"].setObject();
value["times"].setObject();
value["names"].setArray();
value["urls"].setArray();
value["books"].setArray();

基本数值类型

int i1 = 0x7FFFFFFF;//2147483647
unsigned int i2 = 0xFFFFFFFF;//4294967295
long long i3 = 0x7FFFFFFFFFFFFFFF;//9223372036854775807
unsigned long long i4 = 0xFFFFFFFFFFFFFFFF;//18446744073709551615
auto txt1 = QString::fromLocal8Bit("hello workd!你好,世界");
std::string s1(txt1.toUtf8().data());

RValue v0, v1(true), v2(110.123), v3(-100), v4(i1),
      v5(i2), v6(i3), v7(i4), v8(s1), v9(s1.c_str()), v10(s1.c_str(), s1.size());
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-06 12:00:37  更:2021-10-06 12:00:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 21:50:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码