std::string serializeHeaderAsJSON()

in xar/XarHelpers.cpp [130:150]


std::string serializeHeaderAsJSON(const XarHeader& header) noexcept {
  std::string ret = "{";
  for (const auto& [name, value] :
       std::initializer_list<std::pair<std::string, std::string>>{
           {kOffsetName, std::to_string(header.offset)},
           {kUuidName, "\"" + header.uuid + "\""},
           {kVersion, "\"" + header.version + "\""},
           {kXarexecTarget, "\"" + header.xarexecTarget + "\""},
           {kXarexecTrampolineNames,
            "[\"" + join("\",\"", header.xarexecTrampolineNames) + "\"]"}}) {
    if (ret.size() > 1) {
      ret += ",";
    }
    ret += "\"";
    ret += name;
    ret += "\":";
    ret += value;
  }
  ret += "}";
  return ret;
}