2014-04-14 5 views
1

"[\ 1455 \", \ "1456 \", \ "1457 \", \ "1458 \", \ "1459 \"] "json에서 배열 만들기 문자열 변수

json.stringify로 보내는 작업 메서드에서 문자열 변수에 json 문자열이 나타납니다. 이들은 jqgrid에서 선택된 행의 ID입니다.

나는 단지 의 배열을 만들고 싶습니다. 나는 다른 사람들이 백 슬래시 또는 앞으로 또는 두 번 ques 같은 싶지 않아요.

할 수 있습니까? 도와주세요.

Controller:: 
public ActionResult ExportSelectedData(string SelectedRows) 
     { 
} 

View Code:: 
function genGraph() { 
     // location.href = "/WebReports/BatchReport"; 
     var selRowIds = $("#list1").jqGrid('getGridParam', 'selarrrow'); 
     var Array = JSON.stringify(selRowIds); 

     $.ajax({ 
      type: 'POST', 
      url: '/WebReports/ExportSelectedData', 
      data: "{'SelectedRows':'" + Array + "'}", 
      contentType: 'application/json; charset=utf-8', 
      dataType: 'json', 
      success: function (returnValue) { 
       location.href = "/WebReports/Download?file=" + returnValue.File; 
      } 
     }); 
     alert(Array); 
+1

당신이'selRowIds을 사용하기 쉬울 것입니다. '[ ""1454 ","1455 ","1456 ","1454 "대신에 문자열'1454,1455,1456,1457,1458,1459'을 만들기 위해 join()'(또는'selRowIds.join 1457 ","1458 ","1459 "]. 따라서'data : {SelectedRows : selRowIds.join()}'을 Ajax의 매개 변수로 사용할 수 있습니다. 서버 측에서는'string [] selRows = SelectedRows.split (',');를 사용하여 데이터를 파싱 할 수 있습니다. – Oleg

+0

'[접근] (http://stackoverflow.com/a/9508310/315935)와'ModelBinder' 또는 'int []'또는'string []'을 속성으로 사용하는 간단한 사용 객체를 사용할 수 있습니다 ] (http://stackoverflow.com/a/15782451/315935)를 참조하십시오. – Oleg

답변

3

이 사용을 Newtonsoft.Json 도서관

string[] strings = JsonConvert.DeserializeObject<string[]>(jsonData); 

작동합니다 어떻게이 가능한 C#에서 아래의 바이올린 아마

http://dotnetfiddle.net/t5kBoy

+0

안녕하세요. 위의 것은 꽤 잘 작동하지만 문자열 배열이 아닌 간단한 문자열 객체에서 json 문자열을 얻을 수 있습니까? – Sweetie

+0

간단한 문자열이란? 쉼표로 구분 하시겠습니까? – Nilesh

+0

예 sir.Actually "in"연산자를 사용하여 저장 프로 시저로 보내기를 원합니다. 위의 배열 (위의 배열)에있는 테이블에서 레코드를 가져 오려고합니다. – Sweetie