首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有jsoncpp的有序元素

有jsoncpp的有序元素
EN

Stack Overflow用户
提问于 2015-09-08 13:50:01
回答 2查看 948关注 0票数 1

我使用jsoncpp解析我的config.json。它的库使用std::map来包含对键:value。地图是无序的容器。现在,我需要按照文件中元素的相同顺序解析它们(不要问为什么,这不是我的想法)。

我做了些调查,发现

您可以编写自己的解析器或重写jsoncpp来使用list而不是map。

我真的能用jsoncpp中的地图替换列表吗?

或者,您可能会给我一些想法,当我用jsoncpp解析文件时,我如何保存元素的顺序?

EN

回答 2

Stack Overflow用户

发布于 2022-07-14 05:32:31

代码语言:javascript
复制
std::ifstream i("input.json");
auto j = nlohmann::ordered_json::parse(i);
std::cout << j.dump(2) << std::endl;
票数 0
EN

Stack Overflow用户

发布于 2015-09-09 02:17:10

我认为您需要在jsoncpp中使用另一个容器而不是QMap来保持值的插入顺序。

不幸的是,Qt没有这样的数据类型,您必须自己完成,因为QMap和QHash都没有维护插入顺序。

如果您可以使用Boost,它有一个unordered_map http://www.boost.org/doc/libs/1%5F37%5F0/doc/html/unordered.html1

请参见:

QMap但没有按键排序 1

使Map键按插入顺序排序1

追踪插入顺序的地图?1

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32459594

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档