2011-03-17 6 views
3

내가 그렇게처럼 내 MVC의 행동에 자동으로 직렬화를 사용하려고 해요 목록 데이터의 JSON 객체를 컨트롤러 액션에 전달 :C# 자동 재산권 역 직렬화

data: { 
    FirstName: 'first', 
    LastName: 'last', 
    Email: '[email protected]', 
    Domains: ['a','b','c'] 
} 

t를 제외한 모든 속성이 올바르게 deserialize됩니다. 그는 문자열 목록. JSON 배열을 List로 바꾸고 싶습니다. 대신 JSON 배열 문자열에 하나의 문자열이있는 목록을 제공합니다.

.Net Framework 3.5에서이를 수행 할 수있는 방법이 있습니까?

감사합니다.

답변

1

어쩌면이 스레드의 일부 입력을 사용할 수 있습니까?

Deserializing json array into .net class

+0

나는 링크를 확인했지만 어떻게 도움이 될지 모르겠다. 배열을 일반적인 의미의 목록으로 역 직렬화하는 방법을 묻지 않고 MVC 작업에서 자동 (암시 적?) 역 직렬화를 사용하여 배열을 수행 할 수 있는지 묻습니다. – Tbabs

1

당신이 당신의 Global.asax에 OnApplicationStarted() 메소드에 JsonValueProviderFactory 덤프 경우, 잘 컨트롤러 액션의 입력 매개 변수로 JSON 객체를 직렬화한다.

protected override void OnApplicationStarted() 
{ 
    base.OnApplicationStarted(); 

    // for managing complex json objects 
    ValueProviderFactories.Factories.Add(new JsonValueProviderFactory()); 
+0

.NET Framework 3.5에서 작동하는 이와 유사한 솔루션이 있습니까? – Tbabs

+0

이렇게하려면 4.0이 필요한지 잘 모르겠습니다. MVC 2 Futures에서 사용할 수있는 ProviderFactory입니다. 기본적으로 MVC 3에 등록됩니다. – Dusda