2012-06-20 2 views
2

Doctrine-ODM을 사용하고 있으며 symfony에서 문서 객체를 직렬화하려고합니다.JMSSerializerBundle을 사용하여 Doctrine 객체를 어떻게 비 직렬화합니까?

직렬화가 작동하는 것 같다,하지만 난 다음 오류 얻을 역 직렬화 할 때

You must define a type for My\Bundle\Repository\Item::$id.

것은 내가이 호출 역 직렬화 할 :

$object = $serializer->deserialize($serializedItem, 'My\Bundle\Repository\Item', 'json'); 

내 문서에 포함 된 몇 가지가 있습니다를 문서하지만 그들은 직렬화 된 문자열 괜찮을 것으로 보인다. 문서 유형에 대한 정보가 누락되었습니다. 다음은 출력의 간단한 예 :

{ 
    id: "itemID", 
    - embededDocument: { 
     id: "embeddedDocumentID", 
     moreInformation: true 
    } 
} 

는 지금은 usage instructions 읽고 난 내 솔루션은 in the metadata for third party cookbook을 설명한다고 가정하지만, 내가 무엇을 알아낼 수 없습니다.

어떻게 수정하고 내 문자열을 개체에 제대로 deserialize합니까?

답변

1

My\Bundle\Repository\Item에서 id 속성을 정의하고 the @Type annotation으로 장식해야합니다.

+0

감사합니다 :) 우리는 다른 방법으로 가기로 결정했으나 이것은 많은 도움이되었습니다. :) – Senad