API 엔드 포인트가있는 WebAPI2를 사용하는 C # / ASP.Net 프로젝트가 있습니다. 해당 엔드 포인트는 GET 요청에 대한 응답으로 JSON 객체 배열을 제공합니다. 직렬화를 위해 네이티브 개체의 모델을 사용합니다. 이것은 제가 이해하는 WebAPI2의 표준 방식입니다.
직렬화는 IEnumerable 모델에 대해 입력 된 OK HttpActionResult를 보낼 때 '뒤에서'발생합니다.
return Ok<IEnumerable<Model>>(arrayOfModels);
모델 배열의 JSON 문자열 표현을받는 두 번째 앱이 있습니다. 역 직렬화 할 인바운드 문자열은 단일 요소가있는 배열의 경우 다음과 같습니다.
[
{
"ExecID": "EXWB4KT-1",
"Symbol": "CERT-EUR-TEST",
"ExecutionTime": "2016-07-28T14:59:56.24",
"BuyExchID": "IDH64KT-1",
"SellExchID": "IDH64KT-3",
"Tradable": {
"CERT": {
"AccSrc": "ANDY-CERT",
"AccDst": "HIBLET-CERT",
"Qty": "0.01000000",
"State": "PENDING"
},
"EUR1": {
"AccSrc": "HIBLET-EUR",
"AccDst": "ANDY-EUR",
"Qty": "0.33",
"State": "PENDING"
}
}
}
]
다른 프로젝트에서 WebAPI2 모델을 사용할 수 있다는 점을 염두에두고 JSON 데이터를 어떻게 재수 화해야합니까?
양쪽 끝을 모두 제어 할 수 있기 때문에 일련의 모델로 역 직렬화하는 것이 사소해야한다고 생각하지만 어떻게해야할지 모르겠습니다. 이 작업을 수행 할 수있는 방법이 많이 있다는 것을 알고 있으며, 가장 깨끗하고 깨끗한 방법을 찾고 있습니다.
Newsoft.Json 너겟 패키지를 사용해보십시오. 그런 다음 모델을 만들고 역 직렬화하는 문제입니다. 이 같은:
public class MyObject
{
int ExecID { get; set; }
string Symbol { get; set; }
//etc etc
}
그런 다음 방법에서 :
using Newtonsoft.Json;
public class MyMethod(string json)
{
List<MyObject> objList = JsonConvert.DeserializeObject<List<MyObject>>(json);
}
이 코드는 정확하지 않을 수 있지만 비슷한 코드 여야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다