【百度云盘项目实践(1)】:探索JSON与Bundle库的结合应用
hello !大家好呀! 欢迎大家来到我的Linux项目实战系列之《【百度云盘项目实践】:探索JSON与Bundle库的结合应用》,在这篇文章中,你将会学习到json数据格式,bundle库内对文件进行压缩与解压缩的过程,以及手绘UML图来帮助大家来理解,希望能让大家更能了解网络编程技术!!!
希望这篇文章能对你有所帮助,大家要是觉得我写的不错的话,那就点点免费的小爱心吧!(注:这章对于高性能服务器的实现非常重要哟!!!)
目录
一.Json
1.1 json数据
JSON对象
JSON数组
JSON语法规则
JSON与C++的结合使用
1.2 Value实例
主要特性
常用操作
使用场景
1.3 json数据的序列化与反序列化
newStreamWriter()
newCharReader()
1.4 代码实例
二. bundle库
文件压缩:
文件解压:
一.Json
1.1 json数据
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于JavaScript编程语言的一个子集,但因其文本格式清晰、易于解析和生成,被广泛用于数据交换和存储。JSON格式支持的数据结构包括对象(Object)和数组(Array)。
JSON对象
JSON对象是一个无序的键:值对集合。每个键值对中的键是一个字符串,后跟一个冒号,然后是值。值可以是字符串、数值、布尔值、数组、对象或null。例如:
{
"name": "张三",
"age": 30,
"isStudent": false,
"courses": ["数学", "物理", "化学"],
"address": {
"city": "北京",
"street": "长安街"
}
}
在这个例子中,name、age、isStudent、courses和address是键,它们对应的值分别是字符串、数值、布尔值、数组和另一个对象。
JSON数组
JSON数组是一个有序的值列表,可以通过索引访问。数组中的值可以是字符串、数值、布尔值、数组、对象或null。例如:
[
{
"name": "张三",
"age": 30
},
{
"name": "李四",
"age": 25
}
]
这个例子中,数组包含两个对象,每个对象都有name和age属性。
JSON语法规则
- 数据在键值对中
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
JSON与C++的结合使用
在C++中,可以使用如nlohmann/json等库来解析和生成JSON数据。例如,使用这个库解析上述JSON对象:
#include #include using json = nlohmann::json; int main() { std::string jsonString = "{\"name\": \"张三\", \"age\": 30}"; json j = json::parse(jsonString); std::cout


