При работе с JSON необходимо использовать классы, которые сериализуют объекты в строки JSON и десериализуют строки JSON в объекты. При этом могут возникнуть ситуации, в которых строка JSON имеет переменные, названия которых содержат знаки препинания и спецсимволы, что делает невозможным автоматическое преобразование переменных строки JSON в одноименные переменные объекта. Или же в десериализованных объектах просто хочется воспользоваться названиями переменных, которые отличаются от названий переменных из строки JSON. Для этих целей используется пакет System.Runtime.Serialization.

Он дает возможность добавить к классам контрактов аттрибут [DataContract]. Например:

Copy to Clipboard

Также он дает возможность добавить аттрибут [DataMember] к их переменным, с опциональным аргументом Name. Например:

Copy to Clipboard

При использовании этих аттрибутов сериализация и десериализация классов контрактов изменяется. Вместо всех переменных класса в процессах участвуют только переменные с аттрибутами [DataMember], а название переменной класса контракта равняется названию переменной в строке JSON только тогда, когда аттрибут [DataMember] используется без аргумента Name. В случае же наличия аргумента Name, в строке JSON используется значение этого аргумента.

Для подключения пакета System.Runtime.Serialization нужно сделать следующее:

  • 1. Нажать правой кнопкой на вкладку References проекта и выбрать пункт Add reference….

Нажать правой кнопкой на выпадающий список References и выбрать Add Service Reference....
  • 2. В открывшемся окне Reference Manager с левой стороны нужно перейти на вкладку Assemblies / Framework.

Нажать правой кнопкой на выпадающий список References и выбрать Add Service Reference....
  • 3. В открывшемся списке нужно поставить галку возле записи System.Runtime.Serialization, после чего нажать на кнопку OK внизу окна.

Нажать правой кнопкой на выпадающий список References и выбрать Add Service Reference....

Подготовил статью:

Дыкуха
ДыкухаБорис Александрович
Senior Software Developer, OntargIT
Published On: 21 апреля, 2021 / Рубрики: Technical Support /

Следите за новостями компании OntargIT

    Ознакомиться с Политикой конфиденицальности можно здесь.