---
title: "Добавление пакета System Runtime Serialization"
canonical: https://ontargit.com/kz/dobavlenie-paketa-system-runtime-serialization/
date: 2021-04-21 16:39:01
description: "Добавление пакета System Runtime Serialization при работе с JSON."
keywords: "System Runtime Serialization"
categories: [ERP]
---

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

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

Copy to Clipboard
Syntax Highlighter[DataContract]**
 class GoalHeadingsOutputContract

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

Copy to Clipboard
Syntax Highlighter[DataMember]

 public GoalHeadingOutputContract[] value {get; set;}

 [DataMember(Name = “@odata.context”)]

 public string context {get; set;}

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

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

- __

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

[_](https://ontargit.com/wp-content/uploads/2021/04/Picture1-7.png)

- _

2. В открывшемся окне Reference Manager с левой стороны нужно перейти на вкладку **Assemblies / Framework.**

[_](https://ontargit.com/wp-content/uploads/2021/04/Picture2-4.png)

- _

3. В открывшемся списке нужно поставить галку возле записи** System.Runtime.Serialization**, после чего нажать на кнопку **OK **внизу окна.

[_](https://ontargit.com/wp-content/uploads/2021/04/Picture3-2.png)

_

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

ДыкухаБорис Александрович

Senior Software Developer, OntargIT

[](https://www.linkedin.com/in/borys-dykukha-59a7a2a9)