永发信息网

在Qt中如何通过QJson 解析json数据

答案:1  悬赏:80  手机版
解决时间 2021-02-18 08:24
在Qt中如何通过QJson 解析json数据
最佳答案
“名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)
值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。 基础示例1.JSON 表示名称 / 值对的方式按照最简单的形式,可以用下面这样的 JSON 表示"名称 / 值对": < code>{ "firstName": "Brett" } 这个示例非常基本,而且实际上比等效的纯文本"名称 / 值对"占用更多的空间: firstName=Brett 但是,当将多个"名称 / 值对"串在一起时,JSON 就会体现出它的价值了。首先,可以创建包含多个"名称 / 值对"的 记录,比如: { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }从语法方面来看,这与"名称 / 值对"相比并没有很大的优势,但是在这种情况下 JSON 更容易使用,而且可读性更好。例如,它明确地表示以上三个值都是同一记录的一部分;花括号使这些值有了某种联系.
2 表示数组当需要表示一组值时,JSON 不但能够提高可读性,而且可以减少复杂性。例如,假设您希望表示一个人名列表。在 XML 中,需要许多开始标记和结束标记;如果使用典型的名称 / 值对(就像在本系列前面文章中看到的那种名称 / 值对),那么必须建立一种专有的数据格式,或者将键名称修改为 person1-firstName这样的形式。如果使用 JSON,就只需将多个带花括号的记录分组在一起:
{ "people": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }, { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb"}, { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" } ]}这不难理解。在这个示例中,只有一个名为 people的变量,值是包含三个条目的数组,每个条目是一个人的记录,其中包含名、姓和电子邮件地址。上面的示例演示如何用括号将记录组合成一个值。当然,可以使用相同的语法表示多个值(每个值包含多个记录):
{ "programmers": [
{ "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" }, { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb" }, { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" } ],
"authors": [
{ "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" }, { "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" } ],
"musicians": [
{ "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" }, { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" } ] } QJson QJson是一个基于Qt的开发包用来将JSON数据解析成QVariant对象,Json 数组讲被映射成QVariantList实例,其他对象映射为QVariantMap实例 代码实现 设置pro文件 LIBS += -lqjson引入头文件 #include 代码中使用 QJson::Parser QJson::Parser parser;bool ok;QString query = "[{\"rid\":\"102432\", \"pid\":\"1000\", \"username\":\"dxy\"},{\"rid\":\"000\", \"pid\":\"10200\", \"username\":\"dxy2\"}]";
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
含有中字的成语有哪些?
尚丽雅窗帘布艺生活馆地址有知道的么?有点事
K8114这一趟火车是不是每次都晚点,晚点多少
ad574相似的原件
点A1、 A2、 A3、 …、 An(n为正整数)都在
兴民平价商店地址在什么地方,想过去办事
阳光小学买回400本故事书 给了 四年级5分之1
剑侠世界2群站刀毒比掌丐哪个厉害
求黑羽鹫的米英小说【海盗与贵族】和【Angle&
詹天佑和李四光的共同点不包括A. 海外求学B.
星光玻璃地址有知道的么?有点事想过去
画出每个三角形的一条高 (一条高是什么意思?)
为什么我的拨号上网经常掉线?(本地连接也掉)
装载摩托车发动机是否要冷冻安装?
初中毕业证以后有什么用处?
推荐资讯
反摊薄条款又称反稀释条款(Anti-dilution)
如图,△ABC和△ADE均为等边三角形,B、C、D在
中国石化(安徽省太湖县县乡公路管理所北)地址
镇江领先电子厂工资怎么样
开黑钻为什么要20?
中国邮政(鸳楼邮政所)在什么地方啊,我要过去
雪佛兰汽车迈锐宝用什么机油最好
下列各组数中,数值相等的是(  ) A.
永宁乡在哪里啊,我有事要去这个地方
【中国汉代历史】汉朝对中国历史发展中华民族
DNF迷你狄瑞拉的幻影宝珠大概值多少钱
有一首歌的歌词是曾经以为天空那么危险
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?