2014-07-14 1 views
0

[[1, 2, 3], [4, 5, 6]]와 같은 C#의 2 차원 배열을 "[ [1, 2, 3], [4, 5, 6]] "각 값을 증가시키고 수동으로 구문을 추가하는 것 말고 다른가요?C#의 2 차원 배열을 자바 스크립트로 서식 지정

메서드 이름 문자열을 인수로 취하는 my webView.ExecuteJavascript() 메서드에서 배열을 인수로 사용하고 싶습니다. 자바 스크립트는이 작업을 수행하는 쉬운 방법이있을 것입니다이

updateValues(newvalues) { 
oldvalues = newvalues 
} 

모양에 이상적으로, C#으로, 그것은

webView.ExecuteJavascript("updateValues([[1, 2, 3],[4, 5, 6]])") 

것처럼 updateValues ​​기능을 볼 것인가? 지금, 결과는 이중 배열 (목록)의 목록에 저장 .ToArray를 호출의 toString()()를 형태로 이와 같은 :.

webView.ExecuteJavascript("updateValues(" + gaugeCol.ToArray().ToString() + ")"); 

만 나에게 변수 유형을 제공하지 실제 값.

감사

당신은 자바 스크립트 구문으로 배열 목록을 설정하는 다음과 같은 식을 사용할 수 있습니다
+0

도서관에 대한 권장 사항을 묻는다면이 사이트의 범위를 벗어납니다. 아시다시피, 각 요소를 거쳐 문자열로 변환하는 것 외에 다른 방법은 없습니다. – akonsu

답변

1

:

"[" + String.Join(",", gaugeCol.Select(g => 
    "[" + String.Join(",", Array.ConvertAll(g, Convert.ToString)) + "]" 
)) + "]" 
+0

나는 그것이 왜 투표에 실패했는지 궁금하다. 이 코드가 원하는 결과를 얻지 못합니다. – akonsu

+0

@akonsu : 나도 궁금해. 코드가 테스트되고 원하는 결과를 정확히 생성합니다. – Guffa

4

당신은 사용할 수 있습니다 JavaScriptSerializer

var arr = new[] { new[] { 1, 2, 3 }, new[] { 4, 5, 6 } }; 
string json = new JavaScriptSerializer().Serialize(arr); 

또는 Json.Net

string json = JsonConvert.SerializeObject(arr); 

그런 식으로 배열의뿐만 아니라 거의 모든 종류의 객체를 json으로 변환 할 수 있습니다.

관련 문제