From 172f6a9d0de2f21c1f556c6570e89d07e02fa95e Mon Sep 17 00:00:00 2001 From: cxl Date: Mon, 7 Nov 2011 14:08:47 +0000 Subject: [PATCH] reference: JSON: try / catch for partial parsing git-svn-id: svn://ultimatepp.org/upp/trunk@4145 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- reference/JSON/main.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/reference/JSON/main.cpp b/reference/JSON/main.cpp index dd936c970..9dd83cfbf 100644 --- a/reference/JSON/main.cpp +++ b/reference/JSON/main.cpp @@ -24,13 +24,18 @@ CONSOLE_APP_MAIN String s = AsJSON(va); DUMP(s); CParser p2(s); - p2.PassChar('['); - if(!p2.Char(']')) { - do { - DUMP(ParseJSON(p2)["firstName"]); + try { + p2.PassChar('['); + if(!p2.Char(']')) { + do { + DUMP(ParseJSON(p2)["firstName"]); + } + while(p2.Char(',')); + p2.PassChar(']'); } - while(p2.Char(',')); - p2.PassChar(']'); + } + catch(CParser::Error) { + LOG("invalid JSON"); } LOG("- Composing JSON using support classes");