2014-01-24 2 views
3

서버 측 : ASP.NET 웹 API 2.0JSON 게시 데이터를 객체 배열로 변환

JSON으로 클라이언트 측에서 서버 측에 이름 값 쌍을 게시하려고합니다. 서버 측 (WEB API 컨트롤러)에서 이름/값을 포함하는 객체의 배열/목록으로 변환하고 싶습니다.

JSON 게시 데이터 :

[{"name":"sEcho","value":9}, 
{"name":"iColumns","value":6}, 
{"name":"sColumns","value":"Name1,Name2,Name3,Name4,Name5,Name6"},  
{"name":"iDisplayStart","value":0}, 
{"name":"iDisplayLength","value":10}, 
{"name":"mDataProp_0","value":0}, 
{"name":"mDataProp_1","value":1}, 
{"name":"mDataProp_2","value":2}, 
{"name":"mDataProp_3","value":3}] 

나는 다음과 같은 모드를 사용하여 서버 측에서 매핑하려고하지만 내가 사용하고

public IHttpActionResult Post([FromBody]GridDataModel gridData) 

모델

public class GridDataModel 
{ 
    public GridData[] GridData { get; set; } 
} 

public class GridData 
{ 
    public string Name { get; set; } 
    public string Value { get; set; } 
} 

를 작동하지 않았다 이처럼 JSOn strcuture를 객체 속성에 매핑하는 각각의 이름 값을 갖는 단일 객체와 매핑합니다. 어떻게 객체의 배열로 변환 할 수 있는지 모르겠습니다. 이름 값 쌍의 수가 동적이기 때문에 배열이 필요합니다.

도움이 될 것입니다!

미리 감사드립니다.

답변

4

메서드에는 배열이 아닌 단일 인스턴스가 필요합니다. 나는 당신이 2 일

1

)을 JSON 객체) 메서드 서명

public IHttpActionResult Post([FromBody]IEnumerable<GridData> gridData) 

이 변경 변경을 할 수 있으리라 생각

{"gridData": [{"name":"sEcho","value":9}, 
{"name":"iColumns","value":6}, 
{"name":"sColumns","value":"Name1,Name2,Name3,Name4,Name5,Name6"},  
{"name":"iDisplayStart","value":0}, 
{"name":"iDisplayLength","value":10}, 
{"name":"mDataProp_0","value":0}, 
{"name":"mDataProp_1","value":1}, 
{"name":"mDataProp_2","value":2}, 
{"name":"mDataProp_3","value":3}]}