我使用jsoncpp解析我的config.json。它的库使用std::map来包含对键:value。地图是无序的容器。现在,我需要按照文件中元素的相同顺序解析它们(不要问为什么,这不是我的想法)。
我做了些调查,发现
您可以编写自己的解析器或重写jsoncpp来使用list而不是map。
我真的能用jsoncpp中的地图替换列表吗?
或者,您可能会给我一些想法,当我用jsoncpp解析文件时,我如何保存元素的顺序?
发布于 2022-07-14 05:32:31
std::ifstream i("input.json");
auto j = nlohmann::ordered_json::parse(i);
std::cout << j.dump(2) << std::endl;发布于 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
请参见:
https://stackoverflow.com/questions/32459594
复制相似问题