使用JsonCpp的Object对象,若Key为数值类型且想要按照Key数值类型顺序输出,则需要修改部分代码,如下:

//找到jsoncpp.cpp的getMemberNames函数,在return members之前添加如下代码
    std::sort(members.begin(), members.end(),
              [](const std::string &a, const std::string &b)
              {
                  auto isIntViaStringStream = [](const std::string &str)
                  {
                      std::istringstream iss(str);
                      int val;
                      char leftover;
                      // 尝试读取 int,并检查是否有多余字符(非空格)
                      return (iss >> val) && !(iss >> leftover);
                  };
                  if (isIntViaStringStream(a) && isIntViaStringStream(b))
                      return std::stoi(a) < std::stoi(b);
                  else
                      return a < b;
              });