2012-04-01 3 views
2

Я посылаю JSON:Установка JSON имя объекта в WCF REST

[ 
{ 
    "Description": "A kud ces bolje", 
    "ItemID": 1, 
    "Name": "Banane", 
    "NewPrice": 91.99, 
    "OldPrice": 161.99, 
    "SaleEnds": "9/1/2013", 
    "SaleStarts": "9/1/2012" 
}, 
{ 
    "Description": "Rastu na stablu", 
    "ItemID": 2, 
    "Name": "Kruske", 
    "NewPrice": 93.99, 
    "OldPrice": 117.99, 
    "SaleEnds": "9/1/2013", 
    "SaleStarts": "9/1/2012" 
}, 
] 

Но я хочу, чтобы иметь имя, так что он выглядит как

"Some_Name":[ 
{ 
    "Description": "A kud ces bolje", 
    "ItemID": 1, 
    "Name": "Banane", 
    "NewPrice": 91.99, 
    "OldPrice": 161.99, 
    "SaleEnds": "9/1/2013", 
    "SaleStarts": "9/1/2012" 
}, 
{ 
    "Description": "Rastu na stablu", 
    "ItemID": 2, 
    "Name": "Kruske", 
    "NewPrice": 93.99, 
    "OldPrice": 117.99, 
    "SaleEnds": "9/1/2013", 
    "SaleStarts": "9/1/2012" 
}, 
] 

Я возвращаюсь List<Item>:

[OperationContract] 
[WebGet(UriTemplate = "/items/{id}", ResponseFormat = WebMessageFormat.Json)] 
List<ItemService> GetItems(string id); 

и Item:

[DataContract] 
public class ItemService 
{ 
    [DataMember] 
    public int ItemID { get; set; } 

    [DataMember] 
    public string Name { get; set; } 

    [DataMember] 
    public string Description { get; set; } 

    [DataMember] 
    public Decimal OldPrice { get; set; } 

    [DataMember] 
    public Decimal NewPrice { get; set; } 

    [DataMember] 
    public string SaleStarts { get; set; } 

    [DataMember] 
    public string SaleEnds { get; set; } 
} 

ответ

3

Вы не можете назвать данные JSon. Вам понадобится небольшой класс-оболочку, содержащую имя:

class Wrapper { public Some_Name List<ItemService> {get;set;} 

Оберните ваш список в обертке и вернуть обертку.

В результате JSon будет somehting как:

{ 
"Some_Name":[ 
{ 
    "Description": "A kud ces bolje", 
    "ItemID": 1, 
    "Name": "Banane", 
    "NewPrice": 91.99, 
    "OldPrice": 161.99, 
    "SaleEnds": "9/1/2013", 
    "SaleStarts": "9/1/2012" 
}, 
{ 
    "Description": "Rastu na stablu", 
    "ItemID": 2, 
    "Name": "Kruske", 
    "NewPrice": 93.99, 
    "OldPrice": 117.99, 
    "SaleEnds": "9/1/2013", 
    "SaleStarts": "9/1/2012" 
}, 
]} 
Смежные вопросы