Forráskód Böngészése

Add support to comments inside json objects

Daniele Bartolini 11 éve
szülő
commit
7eb0319096
1 módosított fájl, 18 hozzáadás és 0 törlés
  1. 18 0
      engine/core/json/json.cpp

+ 18 - 0
engine/core/json/json.cpp

@@ -57,6 +57,22 @@ namespace json
 		return ch;
 	}
 
+	static const char* skip_comments(const char* s)
+	{
+		CE_ASSERT_NOT_NULL(s);
+		const char* ch = s;
+
+		while ((*ch) == '/')
+		{
+			ch = next(ch, '/');
+			ch = next(ch, '/');
+			while ((*ch) && (*ch) != '\n') ch = next(ch);
+			ch = skip_whites(ch);
+		}
+
+		return ch;
+	}
+
 	static const char* skip_string(const char* s)
 	{
 		CE_ASSERT_NOT_NULL(s);
@@ -433,6 +449,7 @@ namespace json
 			ch = next(ch, '{');
 
 			ch = skip_whites(ch);
+			ch = skip_comments(ch);
 
 			if ((*ch) == '}')
 			{
@@ -463,6 +480,7 @@ namespace json
 
 				ch = next(ch, ',');
 				ch = skip_whites(ch);
+				ch = skip_comments(ch);
 			}
 		}