5

I'm trying to support a legacy app I made a year ago and need to use jQuery AJAX calls to get data from the server. I have a JsonHelper class that I use to serialize DataTables and DataSets. This normally works fine in .NET 4.0, but .NET 2.0 there is no System.Web.Script.Serialization library and therefore no JavaScriptSerializer class.

I've tried to find another JSON serializer, but so far I can't get anything to work.

I tried using JSON.NET 2.0 http://json.codeplex.com/releases/view/13099 but it said it needed a higher framework. So I tried JSON.NET 1.3.1 http://json.codeplex.com/releases/view/6987 I could only figure out how to write JSON to a .txt file, and I'd like to just be able to pass the string back to the client.

I also just tried JsonFx.NET http://jsonfx.net/download/ serialization library (for 2.0). Still couldn't get anything to work.

I don't know if I'm missing some crucial element of these libraries or if there is an easy solution.

Thanks in advance

tedski
  • 2,271
  • 3
  • 27
  • 48

3 Answers3

5

I used this question's first answer to solve my problem: DataTable to JSON

I downloaded the AJAX Extensions 1.0 Library and included "System.Web.Extensions.dll" with my project. http://www.microsoft.com/download/en/details.aspx?id=883

JavaScriptSerializer now works.

Community
  • 1
  • 1
tedski
  • 2,271
  • 3
  • 27
  • 48
1

The Jayrock Library works with all versions of .Net all the way down to 1.x. You'll have to build it yourself for 2.0, but that's no big deal.

I've used it for the past few months. Nice and simple Json serialization and deserialization.

Josh Noe
  • 2,664
  • 2
  • 35
  • 37
0

Easy (but not elegant) solution is to create a shim in .NET 4 that will call your legacy application via HTTP POST or SOAP and convert result in JSON format with NewtonSoft.Json which works OK on .NET 4.

Vitalii
  • 4,434
  • 4
  • 35
  • 77
  • Yeah that would be nice, but the client's server only supports up to .NET 2.0 and they want everything contained in their network. If I'm understanding your suggestion correctly. – tedski Dec 21 '11 at 15:55