From 553a619ebd080b37dc237fcb128a2f74869d16ba Mon Sep 17 00:00:00 2001 From: Joel Leitch Date: Tue, 29 Sep 2009 18:40:08 +0000 Subject: [PATCH] Allow dashes as part of the field name. --- .../main/java/com/google/gson/JsonFieldNameValidator.java | 2 +- .../java/com/google/gson/JsonFieldNameValidatorTest.java | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gson/src/main/java/com/google/gson/JsonFieldNameValidator.java b/gson/src/main/java/com/google/gson/JsonFieldNameValidator.java index c8e94762..1afb1a90 100644 --- a/gson/src/main/java/com/google/gson/JsonFieldNameValidator.java +++ b/gson/src/main/java/com/google/gson/JsonFieldNameValidator.java @@ -31,7 +31,7 @@ import java.util.regex.Pattern; */ class JsonFieldNameValidator { private static final Pattern JSON_FIELD_NAME_PATTERN = - Pattern.compile("(^[a-zA-Z][a-zA-Z0-9\\$_]*$)|(^[\\$_][a-zA-Z][a-zA-Z0-9\\$_]*$)"); + Pattern.compile("(^[a-zA-Z][a-zA-Z0-9\\$_\\-]*$)|(^[\\$_][a-zA-Z][a-zA-Z0-9\\$_\\-]*$)"); /** diff --git a/gson/src/test/java/com/google/gson/JsonFieldNameValidatorTest.java b/gson/src/test/java/com/google/gson/JsonFieldNameValidatorTest.java index c0e0e762..e4a80195 100644 --- a/gson/src/test/java/com/google/gson/JsonFieldNameValidatorTest.java +++ b/gson/src/test/java/com/google/gson/JsonFieldNameValidatorTest.java @@ -92,4 +92,9 @@ public class JsonFieldNameValidatorTest extends TestCase { fail("Json field name can not contain a period character"); } catch (IllegalArgumentException expected) { } } + + public void testDashesInFieldName() throws Exception { + String fieldName = "test-field-name"; + assertEquals(fieldName, validator.validate(fieldName)); + } }