#pragma once #include #include #include namespace joc::json { struct Member { std::string key; std::string raw; bool is_string = false; }; // Parses a top-level JSON object. Rejects non-objects and duplicate keys. bool parse_object(const std::string& text, std::vector* out, std::string* error); const Member* find(const std::vector& members, const std::string& key); bool as_string(const Member& member, std::string* out); bool as_number(const Member& member, double* out); bool as_integer(const Member& member, long long* out); } // namespace joc::json