使用jsoncpp排序的元素

时间:2015-09-08 13:50:01

标签: c++ json qt

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

我做了一些搜索,我发现了

  

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

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

或者,也许,你给我一些想法,当我用jsoncpp解析文件时如何保存元素的顺序?

1 个答案:

答案 0 :(得分:-1)

我认为你需要在jsoncpp中使用另一个容器而不是QMap来维护值的插入顺序

遗憾的是Qt没有这样的数据类型,你必须自己动手,因为QMap和QHash都没有维护插入顺序

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

见:

QMap but without sorting by key 1

Make Map Key Sorted According To Insert Sequence 1

A std::map that keep track of the order of insertion? 1