1

我正在将我的数组数组从客户端发送到服务器。stringify像这样使用jQuery ajax方法

JSON.stringify({ list: FinalList })

在服务器端我得到它是这样的

{\"list\":[[\"Full Name\"],[\"Select any one\",\"Option 1\",\"Option 2\",\"Option 3\"],[\"address\"],[\"contact name\"]]}

但我无法再次将其更改为原始形式。我尝试使用JavaScriptSerializer,但无法获得所需的结果。它给了我一个object.

我将如何将其反序列化为原始形式?

4

2 回答 2

2

JavaScriptSerializer中的Deserialize< T >(String)方法需要一个 Type 参数,该参数告诉它要反序列化到哪个类型。

您必须有一个与您的 javascript 对象具有相同结构的类(具有名称为“list”的 List 或 Array 属性),例如MyType。然后使用Deserialize< MyType >(text)获取正确的MyType实例。

MyType类应该是这样的:

public class MyType
{
    public IList<string[]> List { get; set; }
}
于 2012-11-27T11:40:59.917 回答
0

我有一个类似的问题,最终需要不同的解决方案。我有一个包含多个嵌套模型的复杂模型,虽然我有默认/无参数构造函数(如果你不这样做,它实际上会给你一个很好的 500 错误)我没有在默认构造函数中更新我的嵌套模型。一旦我在每个默认构造函数中实例化了这些,反序列化器就能够完美地构建我的对象。

于 2014-12-12T18:45:23.337 回答