@@ 109,6 109,7 @@ package body JSON.Parser is
Parse_Value (Source, T, Value);
end Parse_Pair;
+ -- object = '{' members '}'
procedure Parse_Object (Source : in out Source_Stream'Class;
T : in out Token_Type;
Value : out JSON.Data.JSON_Holder.Holder) is
@@ 128,6 129,7 @@ package body JSON.Parser is
case T.Token_Kind is
when CURLY_PARENT_RIGHT_TOKEN =>
exit Member_Loop;
+
when STRING_TOKEN =>
declare
Name : constant String := To_String (T.String_Value);
@@ 136,14 138,16 @@ package body JSON.Parser is
Data.Append (Object, Name, Element (Item));
end;
Parse_Token (Source, T);
+
case T.Token_Kind is
when CURLY_PARENT_RIGHT_TOKEN =>
exit Member_Loop;
when COMMA_TOKEN =>
- null;
+ null; -- Do nothing = continue loop
when others =>
raise Parse_Error;
end case;
+
when others =>
raise Parse_Error;
end case;