private static Table ParseJsonObject(Lexer L, Script script) { Table t = new Table(script); L.Next(); while (L.Current.Type != TokenType.Brk_Close_Curly) { AssertToken(L, TokenType.String); string key = L.Current.Text; L.Next(); AssertToken(L, TokenType.Colon); L.Next(); DynValue v = ParseJsonValue(L, script); t.Set(key, v); L.Next(); if (L.Current.Type == TokenType.Comma) L.Next(); } return t; }
private static Table ParseJsonArray(Lexer L, Script script) { Table t = new Table(script); L.Next(); while (L.Current.Type != TokenType.Brk_Close_Square) { DynValue v = ParseJsonValue(L, script); t.Append(v); L.Next(); if (L.Current.Type == TokenType.Comma) L.Next(); } return t; }