Json.NET을 배우기 시작했는데, 시리얼 라이저 사용에 문제가 있습니다.MVC4 프로젝트에서 Json.NET 시리얼 라이저 사용하기
public class PTE_TestsController : ApiController {
PTE_TestsRepository _repository = new PTE_TestsRepository();
// GET /api/PTE_Tests/5
public HttpResponseMessage<string> Get(int id) {
try {
PTE_Test test = _repository.GetTest(id);
return new HttpResponseMessage<string>(JsonConvert.SerializeObject(test));
} catch {
return new HttpResponseMessage<string>(HttpStatusCode.NotFound);
}
}
}
JsonConvert.SerializeObject() 예상 문자열을 반환로 작동 : 나는 Web.API 서비스로 새로운 MVC4 프로젝트가 있습니다. 내 Web.API 컨트롤러는 HttpResponseMessage의 일부로이를 반환합니다. 피들러에서 볼 때 최종 결과는, JSON 데이터가 아니라 JSON 데이터는 (내가 생각하는) 다시 직렬화 :
"{\"ID\":1,\"Name\":\"Talar Tilt\",\"TagID\":1,\"PracticeID\":1,
\"SpecificAreaID\":1,\"TypeID\":1,\"VideoID\":1,\"PicID\":1}"
누군가가 내가 Json.NET을 직접 사용할 수있는 기본 시리얼을 해제하는 방법을 알고 있나요 ? 그건 그렇고, 필자는 복잡한 객체 (PTE_Test는 결국 List 유형의 멤버를 포함 할 것입니다)에서 작동하도록 만드는 방법을 이해할 수 없기 때문에 기본 시리얼 라이저를 사용하지 않습니다.
누군가가 복잡한 개체와 함께 기본 직렬기를 사용하는 방법을 설명 할 수 있으면 내 문제도 해결됩니다. MSDN의 설명이 도움이되지 못했습니다.
JsonValue 객체 사용에 대한 그의 조언은 내가 필요로하는 것이었다. 감사! – CraigB
빠른 후속 조치 : JsonValue는 Get, Put은 아니지만 Post 등에서 만 작동했습니다. 그래서 Rick의 Json.NET 포맷터를 추가했으며 지금까지 꽤 잘 작동했습니다. – CraigB