是否有更简单的方法将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() + ")");
只给我变量类型而不是实际值。
由于
答案 0 :(得分:4)
您可以使用JavaScriptSerializer
var arr = new[] { new[] { 1, 2, 3 }, new[] { 4, 5, 6 } };
string json = new JavaScriptSerializer().Serialize(arr);
string json = JsonConvert.SerializeObject(arr);
这样,您几乎可以将任何类型的对象转换为json,而不仅仅是数组......
答案 1 :(得分:1)
您可以使用这样的表达式将数组列表转换为Javascript语法:
"[" + String.Join(",", gaugeCol.Select(g =>
"[" + String.Join(",", Array.ConvertAll(g, Convert.ToString)) + "]"
)) + "]"