2

谁能带我看一些示例,展示如何将传入的 JSON 转换为 MVC3 中的模型?

4

2 回答 2

3

框架已经为您处理好了。

所以你定义模型:

public class MyViewModel
{
    public int Id { get; set; }
    public string Name { get; set; }
    public Complex Complex { get; set; }
    public IEnumerable<Foo> Foos { get; set; }
}

public class Complex
{
    public int Id { get; set; }
}

public class Foo
{
    public string Bar { get; set; }
}

然后是采用此模型的控制器操作:

[HttpPost]
public ActionResult SomeAction(MyViewModel model)
{
    ...
}

最后,您使用与您的视图模型结构匹配的 JSON 请求来锤击此控制器操作:

$.ajax({
    url: '@Url.Action("SomeAction")',
    type: 'POST',
    contentType: 'application/json',
    data: JSON.stringify({
        id: 1,
        name: 'john smith of course, why asking?',
        complex: {
            id: 3
        },
        foos: [
            { bar: 'the bar' },
            { bar: 'the baz' },
        ]
    }),
    success: function(result) {
        alert('hooray');
    }
});
于 2012-08-16T15:57:21.250 回答
0

http://james.newtonking.com/projects/json-net.aspx

我会添加更多,但示例代码也在首页上。

于 2012-08-16T15:54:05.107 回答