From 4976e420fceaf0615f93dd3c59d5243b84160ffb Mon Sep 17 00:00:00 2001 From: Mark Hess Date: Wed, 14 Dec 2016 00:15:49 -0600 Subject: [PATCH] Add keySet method and test (#942) --- .../src/main/java/com/google/gson/JsonObject.java | 9 +++++++++ .../test/java/com/google/gson/JsonObjectTest.java | 15 +++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/gson/src/main/java/com/google/gson/JsonObject.java b/gson/src/main/java/com/google/gson/JsonObject.java index 62101918..415de6ad 100644 --- a/gson/src/main/java/com/google/gson/JsonObject.java +++ b/gson/src/main/java/com/google/gson/JsonObject.java @@ -132,6 +132,15 @@ public final class JsonObject extends JsonElement { return members.entrySet(); } + /** + * Returns a set of members key values. + * + * @return a set of member keys as Strings + */ + public Set keySet() { + return members.keySet(); + } + /** * Returns the number of key/value pairs in the object. * diff --git a/gson/src/test/java/com/google/gson/JsonObjectTest.java b/gson/src/test/java/com/google/gson/JsonObjectTest.java index 32d9d360..d071c3ba 100644 --- a/gson/src/test/java/com/google/gson/JsonObjectTest.java +++ b/gson/src/test/java/com/google/gson/JsonObjectTest.java @@ -183,4 +183,19 @@ public class JsonObjectTest extends TestCase { assertEquals(1, original.get("key").getAsJsonArray().size()); assertEquals(0, copy.get("key").getAsJsonArray().size()); } + + /** + * From issue 941 + */ + public void testKeySet() { + JsonObject a = new JsonObject(); + + a.add("foo", new JsonArray()); + a.add("bar", new JsonObject()); + + assertEquals(2, a.size()); + assertEquals(2, a.keySet().size()); + assertTrue(a.keySet().contains("foo")); + assertTrue(a.keySet().contains("bar")); + } }