2012-09-11 1 views
11

ASP.NET MVC 애플리케이션에서 Json.NET 라이브러리를 default serializer으로 대체하는 방법에 대한 많은 리소스가 있지만, 내 인생에서 어떻게 설정해야하는지에 대한 단일 리소스를 찾을 수 없습니다. 디시리얼라이저. 컨트롤러 액션, 말에서 들어오는 매개 변수를 역 직렬화 할 때ASP.NET MVC 3+ 응용 프로그램에서 Json.NET을 기본 디시리얼라이저로 사용하는 방법은 무엇입니까?

       // how to use Json.NET when deserializing 
           // incoming arguments? 
            V 
public ActionResult SomeAction (Foo foo) { 

    // this piece of code has lots of resources 
    // on how to override the default Javascript serializer 
    return Json(new Bar()); 

} 

가 어떻게 부르는 jQuery를 AJAX에서 Json.NET을 사용하는 내 응용 프로그램을 알 수 있습니까 :

조금, 여기에 몇 가지 템플릿 코드 있다는 설명하기 위해?

$.ajax({ 
    type : 'POST', 
    data : { foo : 'bar' } 
}); 

은 내가 this resource from Rick Strahl을 조정하여 내 코드에 MediaTypeFormatters 적응하려했지만, 그 중 하나가 작동하지 않았다. 웹API 환경이 아니라는 점을 유의하십시오. 그러나 Controller에서 작동하는 솔루션 중 하나는 ApiController에서 작동해야합니다 (조정은 최소 임에도 불구하고).

+0

어떻게 든이 문제를 해결 했습니까? – Jaap

+0

@Jaap 전에 이것을 삭제해야한다는 것을 기억합니다. 그러나 나는 아래의 Fatal의 제안을 시도해 보았습니다. –

답변

2

사용자 정의 ValueProviderFactory를 구현하고 표준 JsonValueProviderFactory를 제거해야합니다.

여기에 몇 가지 예제 코드가 있습니다. http://json.codeplex.com/discussions/347099 그러나 주석을 읽었지만 사전을 제대로 처리 할 수 ​​있는지 100 % 확신 할 수 없습니다.

+0

이 기사에서는 JsonConverter 특성을 사용하여 Json 변환을 사용자 정의하는 방법을 제공하지 않습니다. – Jaap

관련 문제