diff --git a/src/cpp/json/json_reader.cpp b/src/cpp/json/json_reader.cpp index 3623e71d7..cff2ed384 100644 --- a/src/cpp/json/json_reader.cpp +++ b/src/cpp/json/json_reader.cpp @@ -505,6 +505,11 @@ Reader::readObject( Token &tokenStart ) colon, tokenObjectEnd ); } + + // Reject duplicate names + if (currentValue().isMember(name)) + return addError( "Key '" + name + "' appears twice.", tokenName ); + Value &value = currentValue()[ name ]; nodes_.push( &value ); bool ok = readValue();