프로그래밍 언어/HTML,CSS,JS

JSON 개체를 TypeScript 클래스에 캐스팅하는 방법

Rateye 2021. 9. 28. 11:20
728x90
반응형
질문 : JSON 개체를 TypeScript 클래스로 캐스팅하려면 어떻게해야합니까?

원격 REST 서버에서 JSON 객체를 읽었습니다. 이 JSON 개체에는 typescript 클래스의 모든 속성이 있습니다 (설계 상). 수신 한 JSON 객체를 var 유형으로 캐스트하려면 어떻게해야합니까?

typescript var를 채우고 싶지 않습니다 (예 :이 JSON 개체를 사용하는 생성자가 있음). 크기가 크고 하위 개체 및 속성별로 모든 하위 개체를 복사하는 데 많은 시간이 걸립니다.

업데이트 : 그러나 typescript 인터페이스로 캐스팅 할 수 있습니다!

답변

Ajax 요청의 평범한 자바 스크립트 결과를 프로토 타입 자바 스크립트 / TypeScript 클래스 인스턴스로 간단하게 캐스트 할 수 없습니다. 이를 수행하는 방법에는 여러 가지가 있으며 일반적으로 데이터 복사가 포함됩니다. 클래스의 인스턴스를 만들지 않으면 메서드 나 속성이 없습니다. 단순한 JavaScript 객체로 유지됩니다.

데이터 만 처리하는 경우에는 인터페이스로 캐스트 (순전히 컴파일 시간 구조이기 때문에) 할 수 있지만 데이터 인스턴스를 사용하고 해당 데이터로 작업을 수행하는 TypeScript 클래스를 사용해야합니다.

데이터 복사의 몇 가지 예 :

본질적으로 다음과 같습니다.

var d = new MyRichObject();
d.copyInto(jsonResult);
출처 : https://stackoverflow.com/questions/22875636/how-do-i-cast-a-json-object-to-a-typescript-class
728x90
반응형