JSON.NET и управление информацией о типе, предоставляемой в выходном потоке - PullRequest
4 голосов
/ 04 апреля 2011

Мы стремимся использовать JSON.NET.net в кроссплатформенном решении.

Учитывая структуру данных, которые мы передаем, нам необходимо включить сведения о типе в сериализованную информацию.

Мы можем получить информацию о типе в потоке, используя свойство TypeNameHandling JsonSerializer, но в итоге мы получаем гораздо больше информации, передаваемой по проводам.

Что мы хотели бы сделатьсделать что-то похожее на то, что делает MS JavaScriptSerializer, т. е. предоставить JavaScriptTypeResolver, который мы затем заменяем длинными именами на что-то намного более короткое.

Этого можно достичь с помощью JSON.NET?

1 Ответ

5 голосов
/ 05 декабря 2011

Я думаю, вам следует взглянуть на JSON.NET " Контрактные резолверы ".Я цитирую:

Интерфейс IContractResolver позволяет настроить, как JsonSerializer сериализует и десериализует объекты .NET в JSON.

Реализация интерфейса IContractResolver, а затем назначение экземпляра JsonSerializerпозволяет вам контролировать, сериализуется ли объект как объект JSON или массив JSON, какие члены объекта должны быть сериализованы, как они сериализуются и как они называются.

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