Что я должен использовать для сериализации DataTable в JSON в ASP.NET 2.0? - PullRequest
5 голосов
/ 21 декабря 2011

Я пытаюсь поддерживать устаревшее приложение, которое я сделал год назад, и мне нужно использовать вызовы jQuery AJAX для получения данных с сервера.У меня есть класс JsonHelper, который я использую для сериализации DataTable s и DataSet s.Это нормально работает в .NET 4.0, но в .NET 2.0 нет библиотеки System.Web.Script.Serialization и, следовательно, нет класса JavaScriptSerializer.

Я пытался найти другой сериализатор JSON, но пока могуничего не получай на работу.

Я пытался использовать JSON.NET 2.0 http://json.codeplex.com/releases/view/13099, но там говорилось, что нужен более высокий фреймворк.Поэтому я попробовал JSON.NET 1.3.1 http://json.codeplex.com/releases/view/6987 Я мог только выяснить, как записать JSON в файл .txt, и я хотел бы просто иметь возможность передать строку обратно клиенту.

Я также только что попробовал JsonFx.NET http://jsonfx.net/download/ библиотека сериализации (для 2.0).Все еще не мог заставить что-либо работать.

Я не знаю, упускаю ли я какой-то важный элемент этих библиотек или есть простое решение.

Заранее спасибо

Ответы [ 3 ]

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

Я использовал первый ответ на этот вопрос, чтобы решить мою проблему: DataTable to JSON

Я скачал библиотеку AJAX Extensions 1.0 и включил «System.Web.Extensions.dll» в свой проект. http://www.microsoft.com/download/en/details.aspx?id=883

JavaScriptSerializer теперь работает.

1 голос
/ 29 февраля 2012

Библиотека Jayrock работает со всеми версиями .Net вплоть до 1.x. Вам придется создать его самостоятельно для 2.0, но это не страшно.

Я использовал его последние несколько месяцев. Хорошая и простая сериализация и десериализация Json.

0 голосов
/ 21 декабря 2011

Простое (но не элегантное) решение - создать в .NET 4 оболочку, которая будет вызывать ваше устаревшее приложение через HTTP POST или SOAP и преобразовывать результат в формат JSON с помощью NewtonSoft.Json, который нормально работает в .NET 4.

...