Como importar JsonConvert no aplicativo C #?


94

Criei um projeto de biblioteca C #. O projeto tem esta linha em uma classe:

JsonConvert.SerializeObject(objectList);

Estou recebendo um erro dizendo

o nome JsonConvert não existe no contexto atual.

Para corrigir isso, adicionei System.ServiceModel.Web.dllreferências, mas não tive sorte. Como posso resolver esse erro?

Respostas:


170

JsonConverté do namespace Newtonsoft.Json, nãoSystem.ServiceModel.Web

Use NuGetpara baixar opackage

"Projeto" -> "Gerenciar pacotes NuGet" -> "Procure por" newtonsoft json ". -> clique em" instalar ".


se você está construindo um .NET Core WebApi ou WebSite, veja minha resposta abaixo
Mauricio Gracia Gutierrez

1
também, certifique-se de 'using Newtonsoft.Json;' está aí
Dhanuka777

43

clique com o botão direito no projeto e selecione Manage NuGet Packages.. Nele selecione Json.NETe instale

Depois da instalação,

use o seguinte namespace

using Newtonsoft.Json;

então use o seguinte para desserializar

JsonConvert.DeserializeObject

Para .net core você não precisa instalar o newtonsoft - veja minha resposta abaixo
Mauricio Gracia Gutierrez

16

Instale-o usando NuGet:

Install-Package Newtonsoft.Json


Postando isso como uma resposta.


Para .net core você não precisa instalar o newtonsoft - veja minha resposta abaixo
Mauricio Gracia Gutierrez

7

Ou se você estiver usando dotnet Core,

adicione ao seu arquivo .csproj

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

E

dotnet restore

Para .net core você não precisa instalar o newtonsoft - veja minha resposta abaixo
Mauricio Gracia Gutierrez


3

Ferramentas -> Gerenciador de Pacotes NuGet -> Console do Gerenciador de Pacotes

PM> Install-Package Newtonsoft.Json

Para .net core você não precisa instalar o newtonsoft - veja minha resposta abaixo
Mauricio Gracia Gutierrez

2

Se você estiver desenvolvendo um .Net Core WebApi ou WebSite, não precisa instalar o newtownsoft.json para realizar a serialização / desserealização json

Apenas certifique-se de que seu método de controle retorna um JsonResulte chama return Json(<objectoToSerialize>);como este exemplo

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);
        }
    }
}

Se você estiver desenvolvendo um .Net Framework WebApi ou WebSite, precisará usar o NuGet para baixar e instalar onewtonsoft json pacote

"Projeto" -> "Gerenciar pacotes NuGet" -> "Procure por" newtonsoft json ". -> clique em" instalar ".

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);
        }
    }
}

Mais detalhes podem ser encontrados aqui - https://docs.microsoft.com/en-us/aspnet/core/web-api/advanced/formatting?view=aspnetcore-2.1


0

Após instalar o pacote, você precisa adicionar newtonsoft.json.dll no caminho de montagem, executando o comando de fluxo.

Antes de podermos usar nosso assembly, temos que adicioná-lo ao cache global de assemblies (GAC). Abra o Prompt de Comando do Visual Studio 2008 novamente (para Vista / Windows7 / etc. Abra-o como Administrador). E execute o seguinte comando. gacutil /id:\myMethodsForSSIS\myMethodsForSSIS\bin\Release\myMethodsForSSIS.dll

flua este link para obter mais informações http://microsoft-ssis.blogspot.com/2011/05/referencing-custom-assembly-inside.html


0

Experimente isso em C #. Funciona:

var jsonObject = JsonConvert.DeserializeObject(File.ReadAllText(MyFilePath));

Importe os namespaces abaixo:

Para JsonConvert: using Newtonsoft.Json;

Para Arquivo: using System.IO;

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.