我想使用与std :: sort()类似的东西对Json :: Value进行排序(使用dicts),但是在尝试使用这样的自定义排序函数时出现错误:
bool sort_json_array(Json::Value a, Json::Value b)
{
return a["some_double_member"].asDouble() > b["some_double_member"].asDouble();
}
我正在调用std :: sort,如下所示:
std::sort(json_array.begin(), json_array.end(), sort_json_array);
但是这会产生一些我不理解的错误,都类似于:
no match for ‘operator-’ (operand types are ‘Json::ValueIterator’ and ‘int’)
如何对Json数组进行排序?
答案 0 :(得分:0)
我选择的解决方案是创建一个新的空向量,然后迭代Json数组,将每个元素插入到向量中。然后我使用上面问题中的sort_json_array()来对std :: sort()编辑向量(除了我将其更改为采用Jarod42建议的const引用)。谢谢你的帮助!