簡體   English   中英

將C#二維數組格式化為Javascript

[英]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); 

Json.Net

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM