У меня есть некоторые простые объекты .NET, которые я хотел бы сериализовать в JSON и обратно. Набор объектов для сериализации довольно мал, и я контролирую реализацию, поэтому мне не нужно универсальное решение, которое будет работать на все. Поскольку моя сборка будет распространена как библиотека, мне бы очень хотелось избежать зависимости от сторонней DLL: я просто хочу предоставить пользователям одну сборку, которую они могут ссылаться.Действительно простая сериализация JSON в .NET
Я прочитал другие вопросы, которые я мог найти при конвертации в JSON и из него. Рекомендуемое решение JSON.NET действительно работает, но для этого требуется распространение дополнительной DLL.
Мне не нужны какие-либо причудливые функции JSON.NET. Мне просто нужно обработать простой объект (или даже словарь), который содержит строки, целые числа, DateTimes и массивы строк и байтов. При десериализации я рад получить словарь - ему не нужно снова создавать объект.
Есть ли какой-то действительно простой код, который я мог бы скомпилировать в свою сборку, чтобы выполнить эту простую работу?
Я также пробовал System.Web.Script.Serialization.JavaScriptSerializer
, но там, где он падает, это массив байтов: я хочу, чтобы base64-кодировал его и даже зарегистрировал конвертер, не позволяет мне легко выполнить это из-за того, как работает API (он не передается имя поля).
Вы рассматривали с помощью [ILMerge] (http://research.microsoft.com/en-us/people/mbarnett/ilmerge.aspx), чтобы внедрить JSON.NET в вашу сборку? –
Нет, но спасибо, что указали мне. Я думаю, что это может быть излишним для этого, но это выглядит очень интересным инструментом, и я подумаю об использовании его для чего-то еще, над чем я работаю. +1 – EMP
Если данные JSON содержат строку, вероятно, стоит использовать такой пакет, как JSON.NET, чтобы обрабатывать его для вас, вместо того, чтобы кататься самостоятельно. Например, как вы обрабатываете пробелы в своих строках? Или одиночные/двойные кавычки в строке? Newlines? –