3

我正在尝试在我的 MVC 操作中使用自动反序列化,如下所示:

public void CreateEntitlementEntity(EntitlementEntityModel model) {
     // stuff
}

这是我要反序列化的类:

public class EntitlementEntityModel {
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Email { get; set; }

    public List<string> Domains { get; set; }

    public EntitlementEntityModel() { }
}

我将 JSON 数据对象传递给控制器​​操作:

data: {
    FirstName: 'first',
    LastName: 'last',
    Email: 'email@email.com',
    Domains: ['a','b','c']
}

除字符串列表外,所有属性都正确反序列化。我想将 JSON 数组转换为 List,但它给了我一个包含一个字符串的列表,即 JSON 数组字符串。

有没有办法在 .Net Framework 3.5 中实现这一点?

谢谢

4

2 回答 2

1

也许你可以使用这个线程的一些输入?

将 json 数组反序列化为 .net 类

于 2011-03-17T23:11:01.250 回答
1

如果您将 JsonValueProviderFactory 转储到 global.asax 中的 OnApplicationStarted() 方法中,它应该将 json 对象反序列化为控制器操作的输入参数。

protected override void OnApplicationStarted()
{
    base.OnApplicationStarted();

    // for managing complex json objects
    ValueProviderFactories.Factories.Add(new JsonValueProviderFactory());
于 2011-03-17T23:25:15.730 回答