일부 JSON 문자열을 .net 객체로 역 직렬화하는 데 문제가 있습니다. 외부로부터의 정보를 담고있는 컨테이너 클래스가 있습니다. 어떤 타입의 정보가 무엇인지를 정의한 필드 호출 ClassType
이 있습니다. 실제 내용은 다른 어떤 속성이 될 수 있습니다. 그래서 우리는 그것을 Object 타입으로 정의합니다.json.net을 사용하여 .net 객체에 json을 비 직렬화
다음은 문제를 이해하는 데 도움이되는 .net 클래스 정의입니다.
class ClassOne
{
public string Name { get; set; }
public int Age { get; set; }
}
class ClassTwo
{
public string AddressLine { get; set; }
public string AddressLine2 { get; set; }
}
class ClassThree
{
public string Country { get; set; }
public string Passport { get; set; }
}
class ContainerClass
{
public string ClassType { get; set; }
public object ClassContent { get; set; }
}
뭔가 같은 JSON 형식으로 외부에서 정보를 얻는 경우가됩니다
{"ClassType":"Class1","ClassContent":{"Name":"James","Age":2}}
나는 JSON 문자열을 역 직렬화하는 Newtonsoft JSON.net 라이브러리를 사용하고 있습니다. deserialize 함수의 기본값을 Newtonsoft.Json.Linq.JContainer
으로 deserialize하는 것처럼 보입니다. 난 그냥 ClassType
정의를 기반으로 ClassContent
deserialize 일부 변환기 쓸 수 있습니다 궁금해. 모든 코드 샘플을 높이 평가할 것입니다.