Asp.net mvc 需要将嵌套的json数组反序列化到服务器端数组

Asp.net mvc 需要将嵌套的json数组反序列化到服务器端数组,asp.net-mvc,json,json.net,Asp.net Mvc,Json,Json.net,我有一个嵌套在JSON字符串中的对象中的数组,需要在服务器上反序列化: var orderStatus = {"auth": "xxxx", "resourceType": "order.status", "idSet": "2980", "lifecycleEvent": "modified", "objects": { "orders": [ { "id": "2980", "statusId": "6" } ] } 我使用Robert Koritnik的插件如下: $.ajax({url

我有一个嵌套在JSON字符串中的对象中的数组,需要在服务器上反序列化:

var orderStatus = {"auth": "xxxx", "resourceType": "order.status", "idSet": "2980", "lifecycleEvent": "modified", "objects": { "orders": [ { "id": "2980", "statusId": "6" } ] }
我使用Robert Koritnik的插件如下:

$.ajax({url: "receiveJson", type: "POST", data: $.toDictionary(orderStatus) });
我的.net类文件是:

public class orders
{ 
public string Id { get; set; }
public string statusId { get; set; }
}

public class objects
{
public orders orders { get; set; }
}

public class OrderStatus
{
public string clientName { get; set; }
public string source { get; set; }
public string auth { get; set; }
public string resourceType { get; set; }
public string idSet { get; set; }
public string lifecycleEvent { get; set; }

public objects objects { get; set; }

}
我的控制器代码是:

public JsonResult receiveJson(OrderStatus orderStatus)
所以orders对象就是数组。它可以创建订单作为对象,但订单对象中的id和状态id为空

我无法控制我将接收的JSON,它必须是这种格式


我不熟悉JSON和.NETMVC。不知道如何将服务器端订单对象指定为数组。

通过稍微修改我的服务器端类修复了它:

    public class order
{        
    public string Id { get; set; }
    public string statusId { get; set; }
}

public class objects
{
    public List<order> orders { get; set; }
}

public class OrderStatus
{
    public string clientName { get; set; }
    public string source { get; set; }
    public string auth { get; set; }
    public string resourceType { get; set; }
    public string idSet { get; set; }
    public string lifecycleEvent { get; set; }

    public objects objects { get; set; }

}
因此orders类已更改为order。objects.orders属性修改为列表

现在jsondata一直被反序列化