浏览代码

[Serializer] Add support for Traversable objects

Jordi Boggiano 14 年之前
父节点
当前提交
919f16a7d6
共有 1 个文件被更改,包括 7 次插入0 次删除
  1. 7 0
      src/Symfony/Component/Serializer/Serializer.php

+ 7 - 0
src/Symfony/Component/Serializer/Serializer.php

@@ -113,6 +113,13 @@ class Serializer implements SerializerInterface
             }
             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);
         }