У меня есть такие классы:
class MyDate
{
int year, month, day;
}
class Lad
{
string firstName;
string lastName;
MyDate dateOfBirth;
}
И я хотел бы превратить Lad
объект в строку JSON следующим образом:
{
"firstName":"Markoff",
"lastName":"Chaney",
"dateOfBirth":
{
"year":"1901",
"month":"4",
"day":"30"
}
}
(без форматирования). Я нашел эту ссылку , но она использует пространство имен, которого нет в .NET 4 . Я также слышал о JSON.NET , но их сайт сейчас не работает, и я не заинтересован в использовании внешних DLL-файлов.
Существуют ли другие варианты, кроме создания JSON- строки вручную ?
c#
.net
json
serialization
Hui
источник
источник
Ответы:
Вы можете использовать
JavaScriptSerializer
класс (добавить ссылку наSystem.Web.Extensions
):Полный пример:
источник
classes
вjson
формат, надеюсь , поможет кому - то.System.Web.Extensions
, вы должны иметьASP.NET AJAX 1.0
илиASP.NET 3.5
установить в вашей системе. Пожалуйста, смотрите этот stackoverflow.com/questions/7723489/…Так как мы все любим однострочники
... это зависит от пакета Newtonsoft NuGet, который популярен и лучше, чем стандартный сериализатор.
Документация: Сериализация и десериализация JSON
источник
Используйте библиотеку Json.Net , вы можете скачать ее из Nuget Packet Manager.
Сериализация для Json String:
Десериализация в объект:
источник
Используйте
DataContractJsonSerializer
класс: MSDN1 , MSDN2 .Мой пример: ЗДЕСЬ .
В отличие от этого, он также может безопасно десериализовать объекты из строки JSON
JavaScriptSerializer
. Но лично я все же предпочитаю Json.NET .источник
Вы можете достичь этого с помощью Newtonsoft.json. Установите Newtonsoft.json из NuGet. А потом:
источник
Wooou! Действительно лучше, используя JSON Framework :)
Вот мой пример использования Json.NET ( http://james.newtonking.com/json ):
Тест:
Результат:
Теперь я реализую метод конструктора, который получит строку JSON и заполнит поля класса.
источник
Новый сериализатор JSON доступен в
System.Text.Json
пространстве имен. Он включен в общую платформу .NET Core 3.0 и входит в пакет NuGet для проектов, ориентированных на .NET Standard или .NET Framework или .NET Core 2.x.Пример кода:
В этом примере классы для сериализации имеют свойства, а не поля; в
System.Text.Json
настоящее время сериализатор не сериализует поля.Документация:
источник
Если они не очень большие, то, вероятно, ваш случай экспортировать его как JSON.
Также это делает его переносимым среди всех платформ.
источник
Если вы находитесь в веб-контроллере ASP.NET MVC, это так просто:
Не могу поверить, что никто не упомянул об этом.
источник
Я бы проголосовал за сериализатор JSON ServiceStack:
Это также самый быстрый сериализатор JSON, доступный для .NET: http://www.servicestack.net/benchmarks/
источник
Используйте приведенный ниже код для преобразования XML в JSON.
источник
Используйте эти инструменты для генерации класса C #, а затем используйте этот код для сериализации вашего объекта:
источник
Это так просто (это работает и для динамических объектов (тип object)):
источник
Serializer
объект
Реализация
Вывод
источник