API에서 JSON 결과를 직렬화하려고합니다. 결과는 다음과 같은 구조를 갖습니다.
{
"Version" : "123",
"Message" : "some string",
"Status" : 200,
"Result" : {
"Events" : [ {"Subprop1" : "some_value"}, {"Subprop2" : "some_value"} ],
"Merch" : [ {"Subprop2" : "some_value"}, {"Subprop2" : "some_value"} ],
"Tickets" : [ {"Subprop3" : "some_value"}, {"Subprop2" : "some_value"} ],
"Seasons" : [ {"Subprop4" : "some_value"}, {"Subprop2" : "some_value"} ]
}
}
내 질문은 : 내가 만든 클래스의 객체로 이것을 어떻게 deserialize합니까? 각 결과의 속성 (예 : 이벤트, 상품 등)에 대한 클래스를 만들었습니다.
지금까지 내 코드 :
dynamic resultJSON = JsonConvert.DeserializeObject<dynamic>(response.Content);
dynamic data = resultJSON.Result;
Newtonsoft.Json.Linq.JArray events = resultJSON.Result.Events;
resultJSON
객체의 모든 것을 포함합니다. 자신의 클래스에서 이것을 어떻게 deserialize합니까? 그리고 JArray를 피하십시오
여기 업데이트는 내 Event
수업입니다.
public class Event
{
public int OrderId { get; set; }
public int Id { get; set; }
public string Name{ get; set; }
public string Type { get; set; }
}
public class ListEvents
{
public List<Event> Events { get; set; }
}
Json을 클래스로 정의 :
public class Response
{
public string Version { get; set; }
public string Message { get; set; }
public int Status { get; set; }
public Result Result { get; set; }
}
public class Result
{
public Event[] Events { get; set; }
public Merch[] Merch { get; set; }
public Ticket[] Tickets { get; set; }
public Season[] Seasons { get; set; }
}
public class Event
{
public string Subprop1 { get; set; }
public string Subprop2 { get; set; }
}
public class Merch
{
public string Subprop2 { get; set; }
}
public class Ticket
{
public string Subprop3 { get; set; }
public string Subprop2 { get; set; }
}
public class Season
{
public string Subprop4 { get; set; }
public string Subprop2 { get; set; }
}
Visual Studio를 사용하는 경우 json을 복사하고 사용할 수 있습니다. Edit > Paste Special > Paste JSON as Classes
그런 다음 deserialize :
var response = JsonSerializer.Deserialize<Response>(jsonString);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다