Подтвердить что ты не робот

Управление именами свойств, возвращаемыми в json из web api

В настоящее время я работаю с ASP.NET web api, где я возвращаю объект Model, например, следующий из моей операции REST:

Продукт со свойствами: Name, Id, Description, etc.....

Когда он преобразуется в объект JSON, он выводит его с именами свойств выше.

Чтобы сократить полезную нагрузку, возвращаемую из операции web api, можно ли каким-либо образом изменить свойства в объекте JSON, например, Desc для Description. Я мог бы изменить объект Model, но имена свойств не имели бы смысла тогда!

4b9b3361

Ответ 1

Легкий способ сделать это через контракт с данными. Вот статья, но в основном это включает в себя две аннотации вашей модели. Он также позволяет игнорировать все, что вы не хотите сериализовать.

[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;}

}

Ответ 2

Вы также можете рассмотреть возможность использования http://automapper.org/ на стороне asp.net для сопоставления ваших полных объектов с более легкими. Может быть слишком много для одного или двух небольших объектов, но если у вас есть куча, вы можете сэкономить некоторое время (бесплатный и открытый исходный код для загрузки).