diff --git a/core/modules/serialization/src/Normalizer/TypedDataNormalizer.php b/core/modules/serialization/src/Normalizer/TypedDataNormalizer.php
index 60ce7d08f6..12ea890fab 100644
--- a/core/modules/serialization/src/Normalizer/TypedDataNormalizer.php
+++ b/core/modules/serialization/src/Normalizer/TypedDataNormalizer.php
@@ -18,7 +18,12 @@ class TypedDataNormalizer extends NormalizerBase {
    * {@inheritdoc}
    */
   public function normalize($object, $format = NULL, array $context = []) {
-    return $object->getValue();
+    $value = $object->getValue();
+    // If the value is object and can be normalized, Return the normalized result.
+    if (isset($value) && is_object($value) && $this->serializer->supportsNormalization($value, $format)) {
+      $value = $this->serializer->normalize($value, $format, $context);
+    }
+    return $value;
   }
 
 }
