我想将 C# 2 维字符串数组发送到我的 JS 客户端页面。
服务器:
string[,] info = ib.GetInfo();
//info is [["string1","string2","string3"],["string4","string5","string6"]]
JavaScriptSerializer ser = new JavaScriptSerializer();
return this.Content((new JavaScriptSerializer()).Serialize(info), "text/javascript");
在客户端 JS 方面:
var mysr= JSON.parse(resp );
"string1","string2","string3","string4","string5","string6"
结果mysr是一个一维数组!
怎么了?任何帮助,将不胜感激。字符串还可以包含引号和双引号
最佳答案
这就是 JavaScriptSerializer 的工作方式。查看这些代码
string[,] info1 = new string[2,3]{{"string1","string2","string3"},
{"string4","string5","string6"}};
var json1 = new JavaScriptSerializer().Serialize(info1);
json => ["string1","string2","string3","string4","string5","string6"]
string[][] info2 = new string[][] { new[]{ "string1", "string2", "string3" },
new[]{ "string4", "string5", "string6" } };
var json2 = new JavaScriptSerializer().Serialize(info2);
json => [["string1","string2","string3"],["string4","string5","string6"]]
如果您无法更改方法 GetInfo()
的返回类型。我建议使用 Json.Net
var json1 = JsonConvert.SerializeObject(info1);
它将返回你期望的 json 字符串。
关于c# - 二维 C# 字符串数组到 js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21169023/