Status serializeQueryLogItemAsEventsJSON(const QueryLogItem& item, std::vector<std::string>& items) { auto doc = JSON::newArray(); auto status = serializeQueryLogItemAsEvents(item, doc); if (!status.ok()) { return status; } // return doc.toString() for (auto& event : doc.doc().GetArray()) { rj::StringBuffer sb; rj::Writer<rj::StringBuffer> writer(sb); event.Accept(writer); items.push_back(sb.GetString()); } return Status(); }
Status serializeQueryLogItemAsEventsJSON(const QueryLogItem& i, std::vector<std::string>& items) { pt::ptree tree; auto status = serializeQueryLogItemAsEvents(i, tree); if (!status.ok()) { return status; } for (auto& event : tree) { std::ostringstream output; try { pt::write_json(output, event.second, false); } catch (const pt::json_parser::json_parser_error& e) { return Status(1, e.what()); } items.push_back(output.str()); } return Status(0, "OK"); }