From 300c3afff89966f1fbee9713c14dc5e18199b62f Mon Sep 17 00:00:00 2001 From: Jamie Heller Date: Thu, 4 Sep 2025 13:34:12 -0400 Subject: [PATCH 1/2] Add a test case to validate ability to deserialize collections of Doubles --- .../kiota/serialization/JsonParseNodeTests.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/components/serialization/json/src/test/java/com/microsoft/kiota/serialization/JsonParseNodeTests.java b/components/serialization/json/src/test/java/com/microsoft/kiota/serialization/JsonParseNodeTests.java index 96fed600f..ec31bd0e1 100644 --- a/components/serialization/json/src/test/java/com/microsoft/kiota/serialization/JsonParseNodeTests.java +++ b/components/serialization/json/src/test/java/com/microsoft/kiota/serialization/JsonParseNodeTests.java @@ -172,4 +172,19 @@ void GetEntityWithUntypedNodesFromJson() throws UnsupportedEncodingException { } } } + + @Test + void getCollectionOfPrimitiveDoubleValues() throws UnsupportedEncodingException { + final var initialString = "{\"values\":[1.1,2.2,3.3]}"; + final var rawResponse = new ByteArrayInputStream(initialString.getBytes("UTF-8")); + final var parseNode = _parseNodeFactory.getParseNode(contentType, rawResponse); + final var valuesNode = parseNode.getChildNode("values"); + assertNotNull(valuesNode); + final var doubles = valuesNode.getCollectionOfPrimitiveValues(Double.class); + assertNotNull(doubles); + assertEquals(3, doubles.size()); + assertEquals(1.1, doubles.get(0), 0.000001); + assertEquals(2.2, doubles.get(1), 0.000001); + assertEquals(3.3, doubles.get(2), 0.000001); + } } From 3088448fa4f760c24a022b2bbb2ad019e47ba9bb Mon Sep 17 00:00:00 2001 From: Jamie Heller Date: Thu, 4 Sep 2025 13:35:20 -0400 Subject: [PATCH 2/2] Add branch for java.lang.Double to getPrimitiveValue This fixes the inability to deserialize collections of Doubles --- .../java/com/microsoft/kiota/serialization/JsonParseNode.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/components/serialization/json/src/main/java/com/microsoft/kiota/serialization/JsonParseNode.java b/components/serialization/json/src/main/java/com/microsoft/kiota/serialization/JsonParseNode.java index 771650ba1..8ee6e59a5 100644 --- a/components/serialization/json/src/main/java/com/microsoft/kiota/serialization/JsonParseNode.java +++ b/components/serialization/json/src/main/java/com/microsoft/kiota/serialization/JsonParseNode.java @@ -146,6 +146,8 @@ public JsonParseNode(@Nonnull final JsonElement node) { return (T) itemNode.getIntegerValue(); } else if (targetClass == Float.class) { return (T) itemNode.getFloatValue(); + } else if (targetClass == Double.class) { + return (T) itemNode.getDoubleValue(); } else if (targetClass == Long.class) { return (T) itemNode.getLongValue(); } else if (targetClass == UUID.class) {