Browse Source

Ignore BOM at the start of json file

Ivan Savenko 1 year ago
parent
commit
57eece233b
1 changed files with 5 additions and 0 deletions
  1. 5 0
      lib/json/JsonParser.cpp

+ 5 - 0
lib/json/JsonParser.cpp

@@ -40,6 +40,11 @@ JsonNode JsonParser::parse(const std::string & fileName)
 		if(!TextOperations::isValidUnicodeString(input.data(), input.size()))
 			error("Not a valid UTF-8 file", false);
 
+		// If file starts with BOM - skip it
+		uint32_t firstCharacter = TextOperations::getUnicodeCodepoint(input.data(), input.size());
+		if (firstCharacter == 0xFEFF)
+			pos += TextOperations::getUnicodeCharacterSize(input[0]);
+
 		extractValue(root);
 		extractWhitespace(false);