Cannot find JavaScriptSerializer in .Net 4.0

C#Visual StudioJsonserializer

C# Problem Overview


I cannot seem to find the JavaScriptSerializer object nor the the System.Web.Script.Serialization namespace within Visual Studio 2010. I need to serialize something to JSON what am I supposed to use?

And yes, I already included the System.Web.Extensions (in System.Web.Extensions.dll) within the project. Which is why I am shocked?

  • I do know System.Web.Extensions was marked as obsolete in 3.5

C# Solutions


Solution 1 - C#

Check if you included the .net 4 version of System.Web.Extensions - there's a 3.5 version as well, but I don't think that one works.

These steps work for me:

  1. Create a new console application
  2. Change the target to .net 4 instead of Client Profile
  3. Add a reference to System.Web.Extensions (4.0)
  4. Have access to JavaScriptSerializer in Program.cs now :-)

Solution 2 - C#

  1. Right click References and do Add Reference, then from Assemblies->Framework select System.Web.Extensions.
  2. Now you should be able to add the following to your class file:

    using System.Web.Script.Serialization;

Solution 3 - C#

From the first search result on google:

http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx

> JavaScriptSerializer Class > > Provides serialization and deserialization functionality for AJAX-enabled applications. > > Inheritance Hierarchy > > System.Object > > System.Web.Script.Serialization.JavaScriptSerializer > > Namespace: System.Web.Script.Serialization > > Assembly: System.Web.Extensions (in System.Web.Extensions.dll)

So, include System.Web.Extensions.dll as a reference.

Solution 4 - C#

I'm using Visual Studio 2015 and finally ran across this post.

Yes in order to use

JavaScriptSerializer json = new JavaScriptSerializer();

You must right click on references and under Assemblies --> Framework choose

System.Web.Extensions

Then add in your reference

using System.Web.Script.Serialization;

Solution 5 - C#

This is how to get JavaScriptSerializer available in your application, targetting .NET 4.0 (full)

using System.Web.Script.Serialization;

This should allow you to create a new JavaScriptSerializer object!

Solution 6 - C#

using System.Web.Script.Serialization; 

is in assembly : System.Web.Extensions (System.Web.Extensions.dll)

Solution 7 - C#

Are you targeting the .NET 4 framework or the .NET 4 Client Profile?

If you're targeting the latter, you won't find that class. You also may be missing a reference, likely to an extensions dll.

Solution 8 - C#

For those who seem to be following the answers above but still have the problem (e.g., see the first comment on the poster's question):

You are probably working in a solution with many projects. The project you appear to be working in references other projects, but you are actually modifying a file from one of the other projects. For example:

  • project A references System.Web.Extensions
  • project A references project B

But if the file you are modifying to use System.Web.Script.Serialization is in project B, then you will need to add a reference to System.Web.Extension in project B as well.

Solution 9 - C#

Did you include a reference to System.Web.Extensions? If you click on your first link it says which assembly it's in.

Solution 10 - C#

You have to add the reference to the project.

In Assemblies, there is a System.Web.Extensions Add that.

Once that is done put:

    using System.Web;
    using System.Web.Script;
    using System.Web.Script.Serialization;

That worked for me.

Solution 11 - C#

You can use another option which is the Newtonsoft.Json, you can install it from NuGet Package Manager.

Tools >> Nuget Package Manager >> Package Manager Console by issuing command

Install-Package Newtonsoft.Json

or

by using the GUI at Tools >> Nuget Package Manager >> Manage NuGet Packages for Solution...

enter image description here

Solution 12 - C#

Just so you know, I am using Visual Studio 2013 and have had the same problem until I used the Project Properties to switch to 3.5 framework and back to 4.5. This for some reason registered the .dll properly and I could use the System.Web.Extensions.

enter image description here

enter image description here

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionPrisoner ZEROView Question on Stackoverflow
Solution 1 - C#SteffenView Answer on Stackoverflow
Solution 2 - C#Scott JohnsonView Answer on Stackoverflow
Solution 3 - C#PaulView Answer on Stackoverflow
Solution 4 - C#Tom StickelView Answer on Stackoverflow
Solution 5 - C#Alex HopkinsView Answer on Stackoverflow
Solution 6 - C#Ema.HView Answer on Stackoverflow
Solution 7 - C#Christopher CurrensView Answer on Stackoverflow
Solution 8 - C#jltremView Answer on Stackoverflow
Solution 9 - C#Davy8View Answer on Stackoverflow
Solution 10 - C#riahc3View Answer on Stackoverflow
Solution 11 - C#Alexander ZaldostanovView Answer on Stackoverflow
Solution 12 - C#MilanView Answer on Stackoverflow