[英]Formatting C# two dimensional array to Javascript
有沒有一種更簡單的方法可以將C#中的二維數組(例如[[1、2、3],[4、5、6]]轉換為表示“ [[1、2、3],[4] ,5,6]]“,除了逐個增加每個值並手動添加語法之外?
我想在我的webView.ExecuteJavascript()方法中將數組用作參數,該方法將方法名稱字符串作為參數。 理想情況下,在C#中,它看起來像
webView.ExecuteJavascript("updateValues([[1, 2, 3],[4, 5, 6]])")
javascript中的updateValues函數如下所示
updateValues(newvalues) {
oldvalues = newvalues
}
會有更簡單的方法嗎? 現在,結果存儲在雙精度數組列表(List)中,並以如下形式調用.ToArray()。ToString():
webView.ExecuteJavascript("updateValues(" + gaugeCol.ToArray().ToString() + ")");
只給我變量類型而不是實際值。
謝謝
您可以使用JavaScriptSerializer
var arr = new[] { new[] { 1, 2, 3 }, new[] { 4, 5, 6 } };
string json = new JavaScriptSerializer().Serialize(arr);
string json = JsonConvert.SerializeObject(arr);
這樣,您幾乎可以將任何類型的對象都轉換為json ,而不僅僅是數組...
您可以使用這樣的表達式將數組列表轉換為Javascript語法:
"[" + String.Join(",", gaugeCol.Select(g =>
"[" + String.Join(",", Array.ConvertAll(g, Convert.ToString)) + "]"
)) + "]"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.