您当前的位置: 首页 >  json

命运之手

暂无认证

  • 1浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【零基础学QT】【040】Qt读写Json

命运之手 发布时间:2019-12-19 16:49:53 ,浏览量:1

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             
关注
打赏
1654938663
查看更多评论
0.0400s