Bug 492469 - JSON validator ignores duplicate key
Change-Id: I37021982bf71567aa64990caa9b260a8ab18ab2c
Signed-off-by: Snjezana Peco <snjeza.peco@gmail.com>
diff --git a/bundles/org.eclipse.json/src/org/eclipse/json/provisonnal/com/eclipsesource/json/JsonParser.java b/bundles/org.eclipse.json/src/org/eclipse/json/provisonnal/com/eclipsesource/json/JsonParser.java
index 070d3f5..0d8c770 100644
--- a/bundles/org.eclipse.json/src/org/eclipse/json/provisonnal/com/eclipsesource/json/JsonParser.java
+++ b/bundles/org.eclipse.json/src/org/eclipse/json/provisonnal/com/eclipsesource/json/JsonParser.java
@@ -13,6 +13,8 @@
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
+import java.util.ArrayList;
+import java.util.List;
class JsonParser {
@@ -123,9 +125,15 @@
if( readChar( '}' ) ) {
return object;
}
+ List<String> names = new ArrayList<String>();
do {
skipWhiteSpace();
String name = readName();
+ if (names.contains(name)) {
+ throw error("Duplicate key '" + name + "'");
+ } else {
+ names.add(name);
+ }
skipWhiteSpace();
if( !readChar( ':' ) ) {
throw expected( "':'" );