Reputation: 25143
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
Reputation: 21
Please give the below command:
dotnet add package Newtonsoft.Json
and then it works.
Upvotes: 2
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
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
Reputation: 1
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
Reputation: 410
Tools -> NuGet Package Manager -> Package Manager Console
PM> Install-Package Newtonsoft.Json
Upvotes: 3
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
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
Reputation: 30760
Install it using NuGet:
Install-Package Newtonsoft.Json
Posting this as an answer.
Upvotes: 20
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