2012-03-21 4 views
1

C# 웹 메서드는 JavaScriptSerializer를 사용하여 jSONstring이라는 문자열 형식의 JSON 객체를 반환합니다. 내 자바 스크립트는 jquery.deserialize을 사용하여 다음을 수행합니다jquery.deserialize를 사용하여 배열 값을 비 직렬화로 변환

$("#form").deserialize(JSON.parse(jSONstring)); 

이 요소의 배열에 매핑 할 때를 제외하고 잘 작동하는 것 같다. 다음과 같이

내 HTML은 다음과 같습니다

json으로 개체가 서버에서 반환
<input name="AccountID" value="" /> 
<input name="Account[0].name" value="" /> 
<input name="Account[1].name" value="" /> 
<input name="Account[2].name" value="" /> 

보이는 같은 :

'{"AccountID": 123, "Account":[{"name": "AccountName1"},{"name": "AccountName2"},{"name": "AccountName3"}]}' 

역 직렬화 호출 한 후 계정 아이디가 업데이트되지만 계정 이름은 AccountName1으로 업데이트되지 않습니다 , AccountName2, AccountName3.

나는 다음과 여전히 작동하지 않습니다 내 입력 요소의 이름을 바꾸는 시도

: 나는

<input name="Account.name" value="" /> 
<input name="Account.name" value="" /> 
<input name="Account.name" value="" /> 

를하고있는 중이 야 무슨 잘못?

답변

1

해당 형식은 플러그인에서 지원하지 않으며 jQuery.serialize, jQuery.serializeArrayjQuery.serializeObject (비공식)에서 생성 된 데이터 만 지원합니다. 즉, 반환 된 JSON 객체를 위에 나열된 형식 중 하나로 변환 할 수있는 작은 함수를 작성하는 것은 어렵지 않습니다. 또 다른 옵션은 매개 변수화와 같은 다른 직렬화 방법을 사용하는 것입니다.

관련 문제