Как я могу опубликовать данные JSON с помощью Nested arraylist с помощью webapi - PullRequest
0 голосов
/ 24 ноября 2011

Я хочу вернуть данные списка в формате json. У меня есть два класса poco (Order, Items), использующие эти классы poco. Я хочу вернуть данные в формат json

Образец формата Json, который я хочу вернуть, используя webapi.

        {"order":{
          "LocationId":1,
           "Amount":"7.79",
          "OrderContactEmail":"test@gmail.com",
          "OrderContactName":"test",
        "items":[{"Options":"y",
       "UnitCost":"7.79",
       "Quantity":"1","MenuItemId":"68"}],
       "DeviceIdentifier":"000000000000000",
        "ShipMethod":"PICK UP",
       "PickupDate":"2011-11-22 15:52:00",
       "OrderContactPhone":"123456"},
        "items":[{"Options":"y",
        "UnitCost":"7.79",
        "Quantity":"1","MenuItemId":"68"}],
        "DeviceIdentifier":"000000000000000",
         "ShipMethod":"PICK UP",
         "PickupDate":"2011-11-22 15:52:00",
         "OrderContactPhone":"123456"}}

1 Ответ

2 голосов
/ 24 ноября 2011

Вставив нужный JSON в http://json2csharp.com, вы получите:

public class Item
{
    public string Options { get; set; }
    public string UnitCost { get; set; }
    public string Quantity { get; set; }
    public string MenuItemId { get; set; }
}

public class Order
{
    public int LocationId { get; set; }
    public string Amount { get; set; }
    public string OrderContactEmail { get; set; }
    public string OrderContactName { get; set; }
    public Item[] items { get; set; }
    public string DeviceIdentifier { get; set; }
    public string ShipMethod { get; set; }
    public string PickupDate { get; set; }
    public string OrderContactPhone { get; set; }
}

public class Item2
{
    public string Options { get; set; }
    public string UnitCost { get; set; }
    public string Quantity { get; set; }
    public string MenuItemId { get; set; }
}

public class RootObject
{
    public Order order { get; set; }
    public Item2[] items { get; set; }
    public string DeviceIdentifier { get; set; }
    public string ShipMethod { get; set; }
    public string PickupDate { get; set; }
    public string OrderContactPhone { get; set; }
}

Это должно указать вам направление ...

Вы также можете использовать некоторые анонимные типы следующим образом:

var items = new Item[] {
    item1,
    item2
}

var json = new {
    order = new {
            LocationId = 1
            Items = items
        }
}

и т.д.. и т.д.

...