在服务器端反序列化json格式的字符串

时间:2012-11-27 11:26:48

标签: c# jquery json deserialization stringify

我将数组数组从客户端发送到服务器。在stringify之后使用jQuery ajax方法

JSON.stringify({ list: FinalList })

在服务器端我得到的就像这样

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

MyType 类应该是这样的:

public class MyType
{
    public IList<string[]> List { get; set; }
}

答案 1 :(得分:0)

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