2012-05-23 10 views
19

web API gelen json döndü JSON nesnesine dönüştürülür, yukarıdaki özellik adlarıyla çıktılanır.yönetme özellik adları Şu anda benim DİNLENME operasyonundan aşağıdaki gibi bir model nesneyi döndürmek ASP.NET Web API ile çalışıyorum

Web api işleminden döndürülen yükü azaltmak için, Description için Desc gibi JSON nesnesindeki özellikleri değiştirebileceğim herhangi bir yol var mı? Model nesnesini değiştirebilirdim ama özellik isimleri o zaman mantıklı olmazdı!

cevap

2

Ayrıca tüm nesnelerinizi daha hafif olanlara eşlemek için asp.net tarafında http://automapper.org/ kullanmayı da düşünebilirsiniz. Sadece bir ya da iki küçük nesne için aşırı fazla olabilir, ancak bunu yapmak için bir demetiniz varsa, size biraz zaman kazandırabilir (açılış için ücretsiz ve açık kaynak).

23

Bunu yapmanın kolay yolu bir veri sözleşmesidir. Here is an article, ancak temel olarak, modelinizde iki ek açıklama içerir. Ayrıca serileştirilmesini istemediğiniz bir şeyi görmezden gelmenizi sağlar.

[DataContract] 
public class Foo { //Your model class 

    [DataMember(Name="bar-none")] //This also allows you to use chars like '-' 
    public string bar {get; set;} 

    [IgnoreDataMember] //Don't serialize this one 
    public List<string> fuzz { get; set;} 

} 
+1

Bu, OP'lerle aynı olan benim amaçlarım için mükemmeldi. –

+4

Ayrıca, varsayılan olarak eklenmeyen System.Runtime.Serialization öğesine bir başvuru eklemeniz gerekebilir. http://stackoverflow.com/questions/7401795/namespace-for-datacontract – geon

İlgili konular