1 什么是json
json是轻量级的文本数据交换格式,它具有简洁和清晰的层次结构,易于人阅读和编写,同时也易于机器解析和生成等优势。
json的标准格式包含数组与对象。
对象用花括号括起来的逗号分割的成员构成,成员是键(key)和值(value)由逗号分割的键值对组成,键与值由:(冒号)隔开。如:
{"name": "John Doe", "age": 18, "address": {"country" : "china", "zip-code": "10000"}}
数组是由方括号括起来的一组值构成。如:
[3, 1, 4, 1, 5, 9, 2, 6]
也包含如下合法的格式:
{"a": 1, "b": [1, 2, 3]}
[1, 2, "3", {"a": 4}]
1.1 Qt creater写json文件的方法
方案1:
用Qt creater写json的方式很多,笔者初次接触Qt creater时对Qt不熟悉,写的第一份json文件采用了暴力的向文本内append字符的方式,写简单的json文件还好,当json文件比较复杂时,此种方法有一个极大的痛点,总需要去删除最后一个json对象的逗号。而实现起来代码比较冗余。笔者在此不对次方案做更多介绍,也不推荐这种写法。
方案2:
由于之前的方案可行度低,于是我在网上搜索了一下Qt写json的方法,不同的作者有不同的写法,但都调用了Qt自带的读写json的方法。包括QJsonDocument 、QJsonObject 、QJsonArray,当使用这些方法时许包含它们的头文件。
2 写json
我们知道了可以用**QJsonDocument 、QJsonObject 、QJsonArray **