diff --git a/src/coders/json.cpp b/src/coders/json.cpp index 049eeb40..8fb6a1e2 100644 --- a/src/coders/json.cpp +++ b/src/coders/json.cpp @@ -162,10 +162,12 @@ Parser::Parser(std::string_view filename, std::string_view source) dv::value Parser::parse() { char next = peek(); - if (next != '{') { - throw error("'{' expected"); + if (next == '{') { + return parseObject(); + } else if (next == '[') { + return parseList(); } - return parseObject(); + throw error("'{' or '[' expected"); } dv::value Parser::parseObject() {