diff options
Diffstat (limited to 'json-glib/json-parser.c')
-rw-r--r-- | json-glib/json-parser.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/json-glib/json-parser.c b/json-glib/json-parser.c index dbdefd3..f0fecb7 100644 --- a/json-glib/json-parser.c +++ b/json-glib/json-parser.c @@ -135,14 +135,21 @@ static guint json_parse_array (JsonParser *parser, GScanner *scanner) { - return G_TOKEN_NONE; -} + guint token; + guint result = G_TOKEN_NONE; -static guint -json_parse_pair (JsonParser *parse, - GScanner *scanner) -{ - return G_TOKEN_NONE; + token = g_scanner_get_next_token (scanner); + if (token != G_TOKEN_LEFT_BRACE) + return G_TOKEN_LEFT_BRACE; + + token = g_scanner_get_next_token (scanner); + if (token == G_TOKEN_RIGHT_BRACE) + return G_TOKEN_NONE; + else + { + } + + return result; } static guint @@ -181,9 +188,6 @@ json_parse_statement (JsonParser *parser, case G_TOKEN_LEFT_BRACE: return json_parse_array (parser, scanner); - case G_TOKEN_STRING: - return json_parse_pair (parser, scanner); - default: g_scanner_get_next_token (scanner); return G_TOKEN_SYMBOL; |