소스 검색

[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);
         }