diff options
author | Snjezana Peco | 2016-05-05 19:20:39 +0000 |
---|---|---|
committer | Victor Rubezhny | 2016-05-12 01:43:01 +0000 |
commit | 9257217bf0161edd6d4b540f1e24892987827b21 (patch) | |
tree | a0fc86144df063781e03d241db5b79f0c3969a0e | |
parent | 809563d64d67abb0c002c27e36d17809d417da73 (diff) | |
download | webtools.sourceediting-9257217bf0161edd6d4b540f1e24892987827b21.tar.gz webtools.sourceediting-9257217bf0161edd6d4b540f1e24892987827b21.tar.xz webtools.sourceediting-9257217bf0161edd6d4b540f1e24892987827b21.zip |
Bug 492469 - JSON validator ignores duplicate key
Change-Id: I37021982bf71567aa64990caa9b260a8ab18ab2c
Signed-off-by: Snjezana Peco <snjeza.peco@gmail.com>
-rw-r--r-- | bundles/org.eclipse.json/src/org/eclipse/json/provisonnal/com/eclipsesource/json/JsonParser.java | 8 |
1 files changed, 8 insertions, 0 deletions
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 070d3f51ce..0d8c77023b 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 @@ package org.eclipse.json.provisonnal.com.eclipsesource.json; 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 @@ class JsonParser { 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( "':'" ); |