저는 REST 웹 서비스를 사용하는 C# 버전 4 응용 프로그램을 코딩하고 있습니다. 이러한 웹 서비스는 ASP.NET MVC RESTful 웹 서비스 방식으로 작성됩니다. 이러한 웹 서비스 메소드의 절반은 다중 루트 (아래 JSON 데이터 샘플을 참조하십시오)으로 JSON 문자열을 반환합니다. 그러나 특정 JSON 응답 (아래 참조)에 대해서는 모든 데이터 대신 관심있는 Device 객체 (예 : Device 클래스에 속한)에 다중 루트 JSON 응답 문자열을 부분적으로 deserialize하고 싶습니다. 응답.여러 뿌리가있는 JSON 문자열의 부분 비 직렬화
C# .NET 라이브러리 또는 JSON.net 코드를 사용하여 하나의 루트 만있는 JSON 문자열을 역 직렬화하는 방법을 알고 있습니다. 하지만 다중 루트 JSON 데이터로하는 방법을 모르겠습니다. 제발 조언. 고맙습니다.
예를 들어, 다음과 같은 JSON 응답으로 "device"객체 (Device 클래스에서 인스턴스화 됨)에 대한 데이터를 검색하고 은 "version_info"및 "SKU_info"데이터를 무시합니다. "version_info", "SKU_info"및 "장치":
{
“version_info” : { “version” : “1.0”, “owner_id” : 237},
“SKU_info” : {“id” : 1928399, “active”: true},
“device” : {
“id”: 7732, “name” : “desktop computer ”, “parent_device_id”: 2982,
“sub_devices”:
[
{“id”: 7733, “name”: “fan”, “quantity” : 1 },
{“id”: 7734, “name”: “memory chip”, “quantity” : 4 },
{“id”: 7735, “name”: “CPU”, “quantity” : 1 },
{“id”: 7736, “name”: “hard disk”, “quantity” : 2 },
],
“user_id” : 864
}
}
그리고 내 csutom "장치"와 "SubDevice"클래스 :
public class Device
{
public long Id;
public string Name;
public long ParentDeviceId;
public List<SubDevice> Subdevices;
public int UserId;
}
public class SubDevice
{
public long Id;
public string Name;
public int Quantity;
}
감사합니다. dtryon. 동적 유형이 트릭을하는 것 같습니다. 나는 당신의 힌트를 시험해 볼 것입니다. –