From 919f16a7d613a5054a25d28769e9fa628b31adbe Mon Sep 17 00:00:00 2001 From: Jordi Boggiano Date: Fri, 6 May 2011 19:04:39 +0200 Subject: [PATCH] [Serializer] Add support for Traversable objects --- src/Symfony/Component/Serializer/Serializer.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Symfony/Component/Serializer/Serializer.php b/src/Symfony/Component/Serializer/Serializer.php index 183e17ef0fe3..0933eab677ae 100644 --- a/src/Symfony/Component/Serializer/Serializer.php +++ b/src/Symfony/Component/Serializer/Serializer.php @@ -113,6 +113,13 @@ public function normalize($data, $format = null) } return $data; } + if ($data instanceof Traversable) { + $normalized = array(); + foreach ($data as $key => $val) { + $normalized[$key] = $this->isStructuredType($val) ? $this->normalize($val, $format) : $val; + } + return $normalized; + } if (is_object($data)) { return $this->normalizeObject($data, $format); }