.NET WebAPI 2将自定义模型发布为JSON

时间:2017-05-16 15:14:11

标签: c# json asp.net-web-api

可能看起来很傻但我无法正确找出这个属性的类型。

public class StoreViewModel
{
    public string name { get; set; }
    public string description { get; set; }
    public string url { get; set; }
    public string[] location { get; set; } <- This guy
}

我想以这样的方式发布JSON:

{
    "name": "foo",
    "description": "bar",
    "location": {
        "latitude": 0.0,
        "longitude": 0.0
    }
}

问题,什么是Location属性DataType与Controller中的默认ModelState验证一起使用?

谢谢!

1 个答案:

答案 0 :(得分:2)

这种预期的行为,因为您可以看到您的位置not an array

您必须将Model更改为以下内容

public class Location
{
    public double latitude { get; set; }
    public double longitude { get; set; }
}

public class StoreViewModel
{
    public string name { get; set; }
    public string description { get; set; }
    public Location location { get; set; }
}