diff --git a/include/mapnik/json/attribute_value_visitor.hpp b/include/mapnik/json/attribute_value_visitor.hpp index dd27495ca..206530cae 100644 --- a/include/mapnik/json/attribute_value_visitor.hpp +++ b/include/mapnik/json/attribute_value_visitor.hpp @@ -48,7 +48,7 @@ public: return mapnik::value(tr_.transcode(str.c_str())); } - mapnik::value operator()(std::unordered_map const& object) const + mapnik::value operator()(std::vector > const& object) const { std::string str = stringifier()(object); return mapnik::value(tr_.transcode(str.c_str())); diff --git a/include/mapnik/json/generic_json.hpp b/include/mapnik/json/generic_json.hpp index 35fdeed03..92f27455d 100644 --- a/include/mapnik/json/generic_json.hpp +++ b/include/mapnik/json/generic_json.hpp @@ -35,7 +35,6 @@ #pragma GCC diagnostic pop #include -#include namespace mapnik { namespace json { @@ -47,8 +46,8 @@ using space_type = standard::space_type; struct json_value; using json_array = std::vector; -using json_object = std::unordered_map; using json_object_element = std::pair; +using json_object = std::vector; using json_value_base = mapnik::util::variant value; qi::int_parser int__; unicode_string string_; - qi::rule key_value; + qi::rule key_value; qi::rule number; qi::rule object; qi::rule array; diff --git a/include/mapnik/json/stringifier.hpp b/include/mapnik/json/stringifier.hpp index c8a4b2665..93906f6ec 100644 --- a/include/mapnik/json/stringifier.hpp +++ b/include/mapnik/json/stringifier.hpp @@ -78,7 +78,7 @@ struct stringifier return str; } - std::string operator()(std::unordered_map const& object) const + std::string operator()(std::vector> const& object) const { std::string str = "{"; bool first = true;