Я начинаю изучать Json.NET, но у меня проблемы с использованием его сериализатор. У меня есть новый проект MVC4 со службой Web.API:
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 возвращает это как часть HttpResponseMessage. Конечным результатом при просмотре в Fiddler являются не данные 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 мне не помогло.