Symfony 4에서 중첩 된 DateTime 객체를 사용하여 json을 엔티티로 역 직렬화

이페이 3212

DateTimeInterface라는 유형 필드 를 포함하는 엔터티가 있으며 completedAtJSON 개체를이 엔터티 개체로 역 직렬화하려고합니다.

나는 시도 DateTimeNormalizer하고 ObjectNormalizer, 그러나 그들은 모두 말을 나에게 오류를 준 내가 DateTime 개체로하지 할당 문자열 / 배열 할 수 있습니다.

예를 들어이 엔티티가 있습니다.

class Task
{
    private $id;
    private $name;

    /**
     * @var DateTimeInterface
     */
    private $completedAt;
}

PHPUnit을 사용하여 테스트에서 JSON 객체를 만드는 방법,

$rawData = json_encode([
    'name' => 'test-task',
    'completedAt' => Carbon::now()->toRfc3339String(),
    // I tried some other formats here, such as datetime array, datetime string, etc.
]);

내 컨트롤러에서 이것을 시도했습니다 (실제 코드가 아닌 테스트입니다).

public function update(Request $request, Task $task, SerializerInterface $serializer): Response
{
    $task = new Task();
    $task->setName('test');
    $task->setCompletedAt(Carbon::now()->toDateTime());

    $json = $serializer->serialize($task, 'json');

    $serializer = new Serializer([new ObjectNormalizer(), new DateTimeNormalizer()], [new JsonEncoder()]); // array of needed normalizer
    var_dump($serializer->deserialize($json, Task::class, 'json'));
}

이 오류가 발생했습니다.

NotNormalizableValueException 속성 경로 "completedAt"에 지정된 "DateTimeInterface", "string"유형의 인수가 필요합니다.

여러 노멀 라이저를 사용하여 JSON 객체를 역 직렬화하려면 어떻게해야합니까?

이페이 3212

이 질문에 대한 답변에 감사드립니다 : Symfony 3.2의 임베디드 객체로 json 역 직렬화- "Acme \ StoreBundle \ Document \ Gps", "array"유형의 예상 인수

Symfony 문서를 따라 : https://symfony.com/doc/current/components/serializer.html#recursive-denormalization-and-type-safety

이 패키지를 설치하지 않은 것으로 나타났습니다 : symfony / property-info

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

C #에서 Newtonsoft를 사용하여 중첩 된 JSON 개체의 역 직렬화

분류에서Dev

자바 객체에 datetime을 사용하여 JSON 역 직렬화

분류에서Dev

JSON에서 /에서 중첩 된 파생 개체를 사용하여 C # 데이터 개체 역 직렬화

분류에서Dev

Json.NET을 사용하여 Json String에서 중첩 된 DataSet 역 직렬화

분류에서Dev

C #에서 Newtonsoft를 사용하여 Json에서 중첩 된 개체의 효율적인 수동 역 직렬화

분류에서Dev

중첩 된 객체의 필드 중 하나를 기반으로 중첩 된 JSON 객체를 기본 유형으로 역 직렬화하는 방법

분류에서Dev

JsonConvert.DeserializeObject를 사용하여 중첩 된 Json 문자열 역 직렬화

분류에서Dev

중첩 된 JSON을 중첩 된 Dictionary <string, object>로 역 직렬화

분류에서Dev

C #에서 중첩 된 목록으로 JSON 역 직렬화

분류에서Dev

System.Text.Json을 사용하여 배열 json 개체의 중첩 된 배열을 역 직렬화

분류에서Dev

Newtonsoft Json.Net을 사용하여 문자열 화 된 (따옴표로 묶인) 중첩 된 개체 역 직렬화

분류에서Dev

Entity Framework 포함 된 관련 엔터티를 사용하여 엔터티를 json으로 직렬화

분류에서Dev

중복 자식 엔터티가있는 데이터베이스에 역 직렬화 된 JSON 개체 저장

분류에서Dev

Newtonsoft.Json을 사용하여 C #에서 중첩 배열로 json을 역 직렬화하는 방법

분류에서Dev

Retrofit을 사용하여 중첩 된 JSON을 역 직렬화 할 수 없음 (Android)

분류에서Dev

중첩 된 객체 목록이있는 객체 목록을 JSON.NET에서 역 직렬화하는 방법은 무엇입니까?

분류에서Dev

System.Text.Json-중첩 된 개체를 문자열로 역 직렬화

분류에서Dev

xamarin c # 중첩 된 개체를 포함하는 Json 역 직렬화

분류에서Dev

재귀를 사용하여 역 직렬화 된 JSON에서 Python 객체를 동적으로 생성 (설명자 프로토콜?)

분류에서Dev

C #에서 JavascriptSerializer를 사용하여 중첩 된 엔터티 (모델)를 직렬화하는 방법은 무엇입니까?

분류에서Dev

Json을 중첩 된 pojo로 역 직렬화

분류에서Dev

다시 역 직렬화하기 전에 문자열로 직렬화 된 개체에서 잠재적으로 중첩 된 문자열 바꾸기

분류에서Dev

특정 기준을 가진 중첩 된 엔티티로 nHibernate 엔티티를 반환하는 방법

분류에서Dev

GSON을 사용하여 평면화 된 JSON 키를 적절한 개체로 역 직렬화

분류에서Dev

ObjectMapper를 사용하여 JSON에서 ZoneDateTime의 잘못된 역 직렬화

분류에서Dev

AWS Lambda에서 중첩 된 JSON 문자열 역 직렬화 (C #)

분류에서Dev

JSON.NET URL에서 중첩 된 데이터 역 직렬화

분류에서Dev

중첩 된 개체에 이름이있을 때 XML을 역 직렬화하는 방법

분류에서Dev

json.dumps ()를 사용하여 중첩 된 Python 객체를 직렬화 할 수 없습니다.

Related 관련 기사

  1. 1

    C #에서 Newtonsoft를 사용하여 중첩 된 JSON 개체의 역 직렬화

  2. 2

    자바 객체에 datetime을 사용하여 JSON 역 직렬화

  3. 3

    JSON에서 /에서 중첩 된 파생 개체를 사용하여 C # 데이터 개체 역 직렬화

  4. 4

    Json.NET을 사용하여 Json String에서 중첩 된 DataSet 역 직렬화

  5. 5

    C #에서 Newtonsoft를 사용하여 Json에서 중첩 된 개체의 효율적인 수동 역 직렬화

  6. 6

    중첩 된 객체의 필드 중 하나를 기반으로 중첩 된 JSON 객체를 기본 유형으로 역 직렬화하는 방법

  7. 7

    JsonConvert.DeserializeObject를 사용하여 중첩 된 Json 문자열 역 직렬화

  8. 8

    중첩 된 JSON을 중첩 된 Dictionary <string, object>로 역 직렬화

  9. 9

    C #에서 중첩 된 목록으로 JSON 역 직렬화

  10. 10

    System.Text.Json을 사용하여 배열 json 개체의 중첩 된 배열을 역 직렬화

  11. 11

    Newtonsoft Json.Net을 사용하여 문자열 화 된 (따옴표로 묶인) 중첩 된 개체 역 직렬화

  12. 12

    Entity Framework 포함 된 관련 엔터티를 사용하여 엔터티를 json으로 직렬화

  13. 13

    중복 자식 엔터티가있는 데이터베이스에 역 직렬화 된 JSON 개체 저장

  14. 14

    Newtonsoft.Json을 사용하여 C #에서 중첩 배열로 json을 역 직렬화하는 방법

  15. 15

    Retrofit을 사용하여 중첩 된 JSON을 역 직렬화 할 수 없음 (Android)

  16. 16

    중첩 된 객체 목록이있는 객체 목록을 JSON.NET에서 역 직렬화하는 방법은 무엇입니까?

  17. 17

    System.Text.Json-중첩 된 개체를 문자열로 역 직렬화

  18. 18

    xamarin c # 중첩 된 개체를 포함하는 Json 역 직렬화

  19. 19

    재귀를 사용하여 역 직렬화 된 JSON에서 Python 객체를 동적으로 생성 (설명자 프로토콜?)

  20. 20

    C #에서 JavascriptSerializer를 사용하여 중첩 된 엔터티 (모델)를 직렬화하는 방법은 무엇입니까?

  21. 21

    Json을 중첩 된 pojo로 역 직렬화

  22. 22

    다시 역 직렬화하기 전에 문자열로 직렬화 된 개체에서 잠재적으로 중첩 된 문자열 바꾸기

  23. 23

    특정 기준을 가진 중첩 된 엔티티로 nHibernate 엔티티를 반환하는 방법

  24. 24

    GSON을 사용하여 평면화 된 JSON 키를 적절한 개체로 역 직렬화

  25. 25

    ObjectMapper를 사용하여 JSON에서 ZoneDateTime의 잘못된 역 직렬화

  26. 26

    AWS Lambda에서 중첩 된 JSON 문자열 역 직렬화 (C #)

  27. 27

    JSON.NET URL에서 중첩 된 데이터 역 직렬화

  28. 28

    중첩 된 개체에 이름이있을 때 XML을 역 직렬화하는 방법

  29. 29

    json.dumps ()를 사용하여 중첩 된 Python 객체를 직렬화 할 수 없습니다.

뜨겁다태그

보관