2011-03-02 6 views
3

나는 값이 배열 인 키/값 쌍을 포함하는 JSON 객체 배열을 가지고 있습니다.ASP.NET 웹 서비스에 대한 AJAX 요청 - 사용할 매개 변수 유형은 무엇입니까?

예 :

var jsonArray = [{ "key1":"value1", "key2":["value21", "value22"]}, 
       { "key1":"value3", "key2":["value41", "value42"]}]; 

편집 : 실수로 사용되는 중괄호 대신 괄호.

내가 jQuery를 사용하여 ASP.NET 웹 서비스에 AJAX를 통해이를 보내려고 오전 :

$.ajax({ 
    type: "post", 
    url: "example.asmx/SomeFunction" 
    data: "{ 'items': '" + JSON.stringify(jsonArray) + "' }", 
    contentType: "application/json;charset=utf-8", 
    dataType: "json" 
}); 

이 데이터를 전송하는 올바른 방법인가? 또한 SomeFunction 매개 변수에서 JSON 데이터를 수락하고 구문 분석하려면 어떤 데이터 형식이 필요합니까?

답변

6

데이터를 전송하는 올바른 방법입니까?

아니, 더 나은 것 다음

또한
$.ajax({ 
    type: "post", 
    url: "example.asmx/SomeFunction" 
    data: JSON.stringify({ items: jsonArray }), 
    contentType: "application/json;charset=utf-8", 
    dataType: "json" 
}); 

, 어떤 데이터 유형에 동의 함과 JSON 데이터를 구문 분석 된 SomeFuncion 매개 변수에 필요합니까?

그것은 매핑 것 : Foo는 다음과 같이 정의된다

public void SomeFunction(IEnumerable<Foo> items) 
{ 
    ... 
} 

: 나는 IEnumerable<T>을 사용했습니다

내 예에서
public class Foo 
{ 
    public string Key1 { get; set; } 
    public IEnumerable<string> Key2 { get; set; } 
} 

내가 생각으로 당신 만 이상 열거하는 것 인덱서가 필요한 경우 배열 T[]으로 정의 할 수도 있습니다.

+0

엄청난 도움이됩니다. 고맙습니다! – zdyn

+0

@ZDYN, 기꺼이 도와 드리겠습니다. –

관련 문제