如何在Qt中合并两个QJsonObjects?

多斯瓦罗格

我有:

QJsonObject obj1({"bla" : "lab"})
QJsonObject obj2({"bla2" : "lab2"})

我需要:

QJsonObject obj3({"bla" : "lab", "bla2" : "lab2"})

或在JSON中:

{
    "bla" : "lab"
}

{
    "bla2" : "lab2"
}

我需要:

{
    "bla" : "lab",
    "bla2" : "lab2"
}

如何实现呢?

斯科普恰诺夫

我倾向于避免显式循环,所以我的解决办法是使用一个皈依 QVariantMap,又名QMap<QString, QVariant>

  1. QJsonObject::toVariantMap把所有的JSON对象到QVariantMap

  2. 使用QMap::insert插入所有地图成一个

  3. 使用QJsonObject::fromVariantMap转换生成的地图回JSON对象

注意:如果所有JSON对象都包含唯一键,则建议的解决方案将最好地工作,因为文档指出:

如果map包含具有相同键的多个条目,则该键的最终值是不确定的。

这是我为您准备的一个简单示例,以演示如何实现建议的解决方案:

QJsonObject json1{{"foo_key", "foo_value"}};
QJsonObject json2{{"moo_key", "moo_value"}, {"boo_key", "boo_value"}};
QVariantMap map = json1.toVariantMap();

map.insert(json2.toVariantMap());

qDebug() << QJsonObject::fromVariantMap(map);

结果

本示例产生以下结果:

QJsonObject({"boo_key":"boo_value","foo_key":"foo_value","moo_key":"moo_value"})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

如何在Swift中合并两个Dictionary实例?

来自分类常见问题

如何在Dart中合并两个列表?

来自分类Dev

Python如何在numpy中合并两个矩阵

来自分类Dev

如何在scala中合并两个元组?

来自分类Dev

如何在Bash中合并两个文档?

来自分类Dev

如何在JavaScript中合并两个.csv文件?

来自分类Dev

如何在SQL(MySQL)中合并两个表?

来自分类Dev

如何在R中合并两个图?

来自分类Dev

如何在angularjs中合并两个对象数组?

来自分类Dev

如何在熊猫中合并两个地块?

来自分类Dev

如何在Linux中合并两个文件

来自分类Dev

我如何在反应中合并两个组件

来自分类Dev

我如何在反应中合并两个组件

来自分类Dev

如何在OrientDB中合并两个查询的结果

来自分类Dev

如何在Java中合并两个大型POJO?

来自分类Dev

如何在两个JSON数组中合并记录?

来自分类Dev

如何在SVG中合并两个形状?

来自分类Dev

如何在R中合并两个文件?

来自分类Dev

如何在python中合并两个整数列

来自分类Dev

如何在python中合并两个csv文件

来自分类Dev

如何在Django中合并两个表

来自分类Dev

如何在numpy中合并两个矩阵?

来自分类Dev

如何在Splunk中合并两个统计信息?

来自分类Dev

如何在Python中合并两个IO流?

来自分类Dev

如何在larave中合并两个相同的集合

来自分类Dev

如何在python中合并两个排序的链表

来自分类Dev

如何在scala中合并两个元组?

来自分类Dev

如何在R中合并两个表?

来自分类Dev

如何在 Qt 中合并/追加/添加两个线程模型?