Сериализация различных членов для XML и JSON - PullRequest
1 голос
/ 21 апреля 2011

У меня есть пара классов, которые я сериализую в XML с атрибутами DataContract / DataMember и DataContractSerializer. Теперь я хотел бы использовать те же классы для сериализации в JSON для вызовов ajax от клиента. Однако члены, которые я хочу сериализовать в JSON, немного отличаются от тех, которые я хочу сериализовать в XML. Есть ли способ (с атрибутами) провести различие между этими двумя?

Кстати, я использую DataContractSerializer вместо XmlSerializer, потому что мне нужно сериализовать приватные члены, поэтому переключение на XmlSerializer не вариант.

1 Ответ

1 голос
/ 21 апреля 2011

Для сериализации JSON я использую:

System.Web.Script.Serialization.JavaScriptSerializer

Вы также можете использовать его для своей ситуации, используя атрибуты игнорирования для управления выводом.

http://msdn.microsoft.com/en-us/library/system.web.script.serialization.scriptignoreattribute.aspx

Редактировать:

Только что заметил, что есть еще один вариант, с которым вы можете быть более знакомы при работе с контрактами данных:

System.Runtime.Serialization.Json.DataContractJsonSerializer

Ссылки:

http://msdn.microsoft.com/en-us/library/system.runtime.serialization.json.datacontractjsonserializer.aspx

http://msdn.microsoft.com/en-us/library/bb412179.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...