【Qt专栏】JSON知识储备-创新互联

目录

银州ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:13518219792(备注:SSL证书合作)期待与您的合作!

前言

一,Json 数组

二,Json 对象

三,注意事项


前言

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于 ECMAScript(欧洲计算机协会制定的 js 规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

总而言之:Json 是一种数据格式,和语言无关,在什么语言中都可以使用Json。基于这种通用的数据格式,一般处理两方面的任务:

  1. 组织数据(数据序列化),用于数据的网络传输。
  2. 组织数据(数据序列化),写磁盘文件实现数据的持久化存储(一般以 .json 作为文件后缀名)。

Json 中主要有两种数据格式:Json 数组和 Json对象,并且这两种格式可以交叉嵌套使用,有效的 JSON 文档要么是数组,要么是对象,因此文档总是以 [] 或 {}开头。

一,Json 数组

Json中主要使用 [] 表示,[] 里面是元素,元素和元素之间使用逗号间隔,最后一个元素后边没有逗号,一个 Json 数组中支持同时存在多种不同类型的成员,包括:整型,浮点型,字符串,布尔类型,json数组,json对象,空值-null。由此可见 Json 数组比起 C/C++ 数组要灵活很多。

  • Json 数组中的元素数据类型一致
  • // 整型
    [1,2,3,4,5]
    // 字符串
    ["Monday","Tuesday","Wednessday","Thuerday","Friday","Saturday","Sunday"]
  • Json 数组中的元素数据类型不一致
[1998,10.08,ture,"FuCong",null]
  • Json 数组中的数组嵌套使用
[
    [1998,10.08,ture,"FuCong",null],
    ["January","February","March","April","May","June","July","August","September","October","November","December"],
    ["南京","北京"]
]
  • Json 数组和对象嵌套使用
[
    "Fucong":{
        "age":24,
        "birthday":10.08,
        "emotion":"happy"
     }
]
二,Json 对象

Json 对象使用 {} 来描述,每个 Json 对象中可以存储若干个元素,每一个元素对应一个键值对(key:value 结构),元素和元素之间使用逗号间隔,最后一个元素后边没有逗号。对于每个元素中的键值对有以下细节需要注意:

  1. 键值(key)必须是字符串,位于同一层级的键值不要重复(因为是通过键值取出对应的 value 值)
  2. value 值的类型是可选的,可根据实际需求指定,可用类型:整型,浮点型,字符串,布尔类型,json数组,json对象,空值-null
  • 使用 Json 对象描述一个人的信息:
{
    "Name":"张三",
    "Sex":"man",
    "Age":23,
    "Girlfriend":{
        "Name":"校花",
        "Sex":"Woman",
        "Age":22
    }
}
三,注意事项

通过上面的介绍可以看到,Json 的结构虽然简单,但是进行嵌套之后就可以描述很复杂的事情,在项目开发过程中往往需要我们根据实际需求自己定义 Json 格式用来存储项目数据。

另外,如果需要将 Json 数据持久化到磁盘文件中,需要注意一个问题:在一个 Json  文件中只能有一个 Json 数组或者 Json 对象的根节点,不允许同时存储多个并列的根节点(可以理解为一个 Json 文件就是一颗树结构,每个节点可以的 Json 数组或者 Json 对象)。

  • 错误的写法
// test.json
{
    "Name":"张三",
    "Age":23
}
{
    "Sex":"man",
    "Comment":"yyds"
}

错误原因:在一个 Json 文件中有两个并列的 Json 根节点(并列包含 Json 对象和 Json 对象,Json 对象和 Json 数组,Json 数组和 Json 数组),根节点只能有一个。

  • 正确的写法
// test.json
{
    "Name":"张三",
    "Age":23,
    "Sex":"man",
    "Comment":"yyds"
}

该文章为哔站Json视频教程的个人总结https://b23.tv/Y4xLrzH

详细Json知识可以看看这个官网https://www.json.org/json-en.html

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


本文题目:【Qt专栏】JSON知识储备-创新互联
本文网址:http://ybzwz.com/article/dohijd.html