Подтвердить что ты не робот

Есть ли какой-либо вспомогательный класс для консолидации Json Serialization в .NET BCL?

Мне нужно сериализовать/де-сериализовать некоторые объекты в/из строки и перенести их как непрозрачные данные. Я могу использовать XmlSerializer для этого, но сгенерированная строка выглядит неуклюжей и длинной. Итак, есть ли какой-нибудь сжатый Serializer, доступный в .NET?

Первое, что приходит мне на ум, - возможно,.NET должен иметь JSON Serializer, но я не могу его найти. Есть ли какой-либо готовый подход в .NET для преобразования объекта в/из краткой строки?

4b9b3361

Ответ 1

Есть два:

Традиционно они не на 100% совместимы друг с другом, особенно re DateTime; DCJS использует (IIRC) литеральную строку; JSS использует new - и ни один из них не может правильно прочитать.

Конечно, если текст непрозрачный, вы также можете использовать любой сжатый двоичный сериализатор и просто base-64 его кодировать; например, protobuf-net довольно краток. Но использование JSON сводит к минимуму внешний код, необходимый на каждом конце, поэтому вполне может быть вашим лучшим выбором.

Ответ 2

Json.Net - это библиотека JSON для .NET. Он доступен в CodePlex.

Ответ 3

У меня есть очень быстрый открытый JsonSerializer, который может сериализовать любой тип POCO или DataContract, включая интерфейсы анонимные и поздние связанные типы и т.д.

Основной пример

var customer = new Customer { Name="Joe Bloggs", Age=31 };
var json = JsonSerializer.SerializeToString(customer);
var fromJson = JsonSerializer.DeserializeFromString<Customer>(json); 

Ответ 4

LINQ To Json может сериализоваться и десериализоваться.

Ответ 5

просто используйте свой собственный api.. его легко создать json.. но вы также можете использовать JSON-библиотеки, такие как JSON.NET..

счастливое кодирование

Ответ 6

JsonFx.NET имеет сериализатор с открытым исходным кодом, который позволяет сериализовать/от строго типизированных классов, которые могут быть тем, что вы ищете, Вы можете контролировать, как даты сериализуются и переопределять многие аспекты сериализации. Он даже хорошо взаимодействует с Linq, поддерживая сериализацию анонимных объектов. API работает так же, как и XML-сериализация .NET.