将c#二维数组格式化为Javascript

本文关键字:Javascript 格式化 二维数组 | 更新日期: 2023-09-27 18:12:58

是否有更简单的方法将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() + ")");

只给我变量的类型,而不是实际的值。

谢谢

将c#二维数组格式化为Javascript

你可以使用JavaScriptSerializer

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

或Json。净

string json = JsonConvert.SerializeObject(arr);

这样,你几乎可以将任何类型的对象转换为json,而不仅仅是数组…

您可以使用这样的表达式将数组列表转换为Javascript语法:

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