Jainendra
Jainendra

Reputation: 25143

How to import JsonConvert in C# application?

I created a C# library project. The project has this line in one class:

JsonConvert.SerializeObject(objectList);

I'm getting error saying

the name JsonConvert doesn't exist in the current context.

To fix that, I added System.ServiceModel.Web.dll to references but had no luck. How can I solve this error?

Upvotes: 139

Views: 354008

Answers (9)

Priya bala
Priya bala

Reputation: 21

Please give the below command:

dotnet add package Newtonsoft.Json

and then it works.

Upvotes: 2

shiv roy
shiv roy

Reputation: 11

After instaling the package you need to add the newtonsoft.json.dll into assemble path by runing the flowing command.

Before we can use our assembly, we have to add it to the global assembly cache (GAC). Open the Visual Studio 2008 Command Prompt again (for Vista/Windows7/etc. open it as Administrator). And execute the following command. gacutil /i d:\myMethodsForSSIS\myMethodsForSSIS\bin\Release\myMethodsForSSIS.dll

flow this link for more informATION http://microsoft-ssis.blogspot.com/2011/05/referencing-custom-assembly-inside.html

Upvotes: 0

Mauricio Gracia Gutierrez
Mauricio Gracia Gutierrez

Reputation: 10844

If you are developing a .Net Core WebApi or WebSite you dont not need to install newtownsoft.json to perform json serialization/deserealization

Just make sure that your controller method returns a JsonResult and call return Json(<objectoToSerialize>); like this example

namespace WebApi.Controllers
{
    [Produces("application/json")]
    [Route("api/Accounts")]
    public class AccountsController : Controller
    {
        // GET: api/Transaction
        [HttpGet]
        public JsonResult Get()
        {
            List<Account> lstAccounts;

            lstAccounts = AccountsFacade.GetAll();

            return Json(lstAccounts);
        }
    }
}

If you are developing a .Net Framework WebApi or WebSite you need to use NuGet to download and install the newtonsoft json package

"Project" -> "Manage NuGet packages" -> "Search for "newtonsoft json". -> click "install".

namespace WebApi.Controllers
{
    [Produces("application/json")]
    [Route("api/Accounts")]
    public class AccountsController : Controller
    {
        // GET: api/Transaction
        [HttpGet]
        public JsonResult Get()
        {
            List<Account> lstAccounts;

            lstAccounts = AccountsFacade.GetAll();

            //This line is different !! 
            return new JsonConvert.SerializeObject(lstAccounts);
        }
    }
}

More details can be found here - https://learn.microsoft.com/en-us/aspnet/core/web-api/advanced/formatting?view=aspnetcore-2.1

Upvotes: 5

Evan Carroll
Evan Carroll

Reputation: 1

Linux

If you're using Linux and .NET Core, see this question, you'll want to use

dotnet add package Newtonsoft.Json

And then add

using Newtonsoft.Json;

to any classes needing that.

Upvotes: 16

Aminur Rahman
Aminur Rahman

Reputation: 410

Tools -> NuGet Package Manager -> Package Manager Console

PM> Install-Package Newtonsoft.Json

Upvotes: 3

Sam Leach
Sam Leach

Reputation: 12956

JsonConvert is from the namespace Newtonsoft.Json, not System.ServiceModel.Web

Use NuGet to download the package

"Project" -> "Manage NuGet packages" -> "Search for "newtonsoft json". -> click "install".

Upvotes: 215

andrew lorien
andrew lorien

Reputation: 2678

Or if you're using dotnet Core,

add to your .csproj file

  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
  </ItemGroup>

And

dotnet restore

Upvotes: 8

Zanon
Zanon

Reputation: 30760

Install it using NuGet:

Install-Package Newtonsoft.Json


Posting this as an answer.

Upvotes: 20

Krishna Deepak
Krishna Deepak

Reputation: 1765

right click on the project and select Manage NuGet Packages.. In that select Json.NET and install

After installation,

use the following namespace

using Newtonsoft.Json;

then use the following to deserialize

JsonConvert.DeserializeObject

Upvotes: 56

Related Questions