С выходом WCF Web API , есть ли способ управления выводом JSON?
Я хотел бы изменить регистр и, возможно, запретить включение определенных свойств, когда класссериализуется.
В качестве примера рассмотрим этот очень простой класс:
[XmlRoot("catalog", Namespace = "http://api.247e.com/catalog/2012")]
public class Catalog
{
[XmlArray(ElementName = "link-templates")]
public LinkTemplate[] LinkTemplates { get; set; }
}
Как видите, я добавил в него различные атрибуты XML, чтобы контролировать его сериализацию.в XML.Могу ли я сделать то же самое (или что-то еще) для JSON?
Для справки, вот пример выходных данных в XML:
<catalog xmlns="http://api.247e.com/catalog/2012"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<link-templates>
<link-template href="http://localhost:9000/search/?criterion={criterion}"
rel="http://docs.247e.com/rels/search"/>
</link-templates>
</catalog>
Для JSON эквивалентный результат будет следующим:
{
"LinkTemplates":
[
{
"Href":"http:\/\/localhost:9000\/search\/?criterion={criterion}",
"Rel":"http:\/\/docs.247e.com\/rels\/search"
}
]
}
Однако я хотел бы изменить регистр свойств, поэтому я бы предпочел что-то вроде этого:
{
"linkTemplates":
[
{
"href":"http:\/\/localhost:9000\/search\/?criterion={criterion}",
"rel":"http:\/\/docs.247e.com\/rels\/search"
}
]
}
Можно также удалить некоторые свойства класса.хороший.