Использование сериализатора Json.NET в проекте MVC4

Я начинаю изучать 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 мне не помогло.

6
задан tereško 1 April 2013 в 17:11
поделиться