C++和Java在JSON解析上的区别 c++由于没有java的反射机制,所以是不可能通过代码自动获取类字段的 因此不可能完全像java那样,只要一行代码,就可以实现任意json字符串和任意类对象之间的转换 不管使用什么c++ json解析库,我们都需要手动去指定字段名,字段值,字段类型 我们能做的,是尽量让解析代码更清晰,不要让繁琐的解析代码和业务代码混到一起,影响可读性 这里我们只介绍Qt自带的解析库,其它c++库同理
类模型 本篇文章以以下两个类来作为JSON测试数据
class Score {
public:
int math;
int chinese;
int english;
};
class Person {
public:
QString name;
int age;
Score score;
};
测试JSON数据
//Person[]
[
{
"age": 25,
"name": "A",
"score": {
"chinese": 85,
"english": 90,
"math": 100
}
},
{
"age": 25,
"name": "B",
"score": {
"chinese": 85,
"english": 90,
"math": 100
}
},
{
"age": 25,
"name": "C",
"score": {
"chinese": 85,
"english": 90,
"math": 100
}
}
]
JsonDocument存储和读取 JsonDocument是对JSON数据结构的一种封装,它保存了所有字段的字段名,字段值,字段类型 JsonDocument即可以转换为类对象,也可以转换为文本,它是文本和类对象之间进行转换的中介 先讲JsonDocument,便于我们弄清原理,了解Qt JSON库的设计
QJsonDocument document;
//存储Person数组到JsonDocument中
QJsonArray jsonArray;
for (int i = 0; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?