c# - 二维 C# 字符串数组到 js

标签 c# javascript arrays json javascriptserializer

我想将 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/

相关文章:

javascript - 护照发送后无法设置 header

c - 为什么 "Germ"作为声明中的右值充当数组对象,但在赋值中的其他地方充当指针?

php - 如何检查数组是否为列表?

c# - XNA-如何计算二维圆相互碰撞后的速度?

javascript - 需要连接数组(不知道需要多少)(js)

javascript - 如何在用户滚动到它们之前加载 onScroll 背景图像?

php - php 中 2 个数组所需的差异键

c# - 在创建容器时将无参数构造函数设置为注入(inject)构造函数

c# - 如何在 C# 中使用 between 过滤数据表

c# - "MouseLeftButtonDown"TreeViewItem 中未引发事件,为什么?