【发布时间】:2014-02-05 18:53:45
【问题描述】:
我想向我的 JS 客户端页面发送一个 C# 2 维度字符串数组。
服务器:
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 是一维数组!
怎么了?任何帮助,将不胜感激。字符串也可以包含引号和双引号
【问题讨论】:
-
JSON.parse应该能够毫无问题地处理二维数组。我认为问题在于JavaScriptSerializer将其转换为一维数组。 -
你能发布在客户端上看起来如何响应值吗?
-
我同意@nderscore,这听起来确实像是序列化方式的问题。您能否验证
id.GetInfo();返回string[,]而不是string[][]。如果不是这种情况,您很可能会遇到异常,但只是作为健全性检查...另外,尝试创建一个嵌套循环将string[,]转换为string[][]并尝试将其序列化,只是为了看看会发生什么...
标签: c# javascript arrays json javascriptserializer