X-Git-Url: http://git.tdb.fi/?p=libs%2Fdatafile.git;a=blobdiff_plain;f=source%2Fparser.cpp;h=7e4d3dd7f93942b9d4c9c3b69f2715d93b25b492;hp=5972e2d98f832d312afa4373bfe66d4204d10f8f;hb=705aca1ca0f63e7314a25f528e6e7c76765c04b8;hpb=cd3de49e76305a50ae61696210ce10804a59cef1 diff --git a/source/parser.cpp b/source/parser.cpp index 5972e2d..7e4d3dd 100644 --- a/source/parser.cpp +++ b/source/parser.cpp @@ -1,6 +1,7 @@ #include #include "binaryparser.h" #include "except.h" +#include "jsonparser.h" #include "parser.h" #include "statement.h" #include "textparser.h" @@ -14,9 +15,14 @@ Parser::Parser(IO::Base &i, const string &s): in(i), main_src(s), src(s), - good(true), - mode(new TextParser(in, src)) -{ } + good(true) +{ + char c = in.peek(); + if(c=='{' || c=='[') + mode = new JsonParser(in, src); + else + mode = new TextParser(in, src); +} Parser::~Parser() {