如何在 C# 应用程序中导入 JsonConvert



我创建了一个 C# 库项目。该项目在一个类中有以下行:

JsonConvert.SerializeObject(objectList);

我收到错误说

名称 JsonConvert 在当前上下文中不存在。

为了解决这个问题,我在引用中添加了System.ServiceModel.Web.dll,但没有运气。如何解决此错误?

JsonConvert来自

命名空间Newtonsoft.Json,而不是System.ServiceModel.Web

使用NuGet下载package

"项目" -> "

管理 NuGet 包" -> "搜索 "newtonsoft json"。->点击"安装"。

右键单击项目并选择Manage NuGet Packages..在该选择Json.NET并安装

安装后,

使用以下命名空间

using Newtonsoft.Json;

然后使用以下命令反序列化

JsonConvert.DeserializeObject

使用 NuGet 安装它:

Install-Package Newtonsoft.Json


将此作为答案发布。

Linux

如果您使用的是 Linux 和 .NET Core,请参阅此问题,您将需要使用

dotnet add package Newtonsoft.Json

然后添加

using Newtonsoft.Json;

到任何需要它的类。

或者

,如果您使用的是dotnet Core,

添加到您的 .csproj 文件

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

dotnet restore

如果您正在开发 .Net Core WebApi 或 WebSite,则不需要安装 newtownsoft.json 来执行 json 序列化/deserealize

只需确保控制器方法返回JsonResult并调用return Json(<objectoToSerialize>);,如以下示例所示

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

如果您正在开发.Net Framework WebApi或网站,则需要使用NuGet下载并安装newtonsoft json

。"项目" -> "

管理 NuGet 包" -> "搜索 "newtonsoft json"。->点击"安装"。

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

更多细节可以在这里找到 - https://learn.microsoft.com/en-us/aspnet/core/web-api/advanced/formatting?view=aspnetcore-2.1

工具 ->

NuGet 包管理器 -> 包管理器控制台

PM> Install-Package Newtonsoft.Json

安装软件包后,您需要通过运行流命令将 newtonsoft.json.dll 添加到汇编路径中。

在使用程序集之前,必须将其添加到全局程序集缓存 (GAC) 中。再次打开 Visual Studio 2008 命令提示符(对于 Vista/Windows7/等,请以管理员身份打开它)。并执行以下命令。gacutil/i d:\myMethodsForSSIS\myMethodsForSSIS\bin\Release\myMethodsForSSIS

.dll

通过此链接获取更多信息http://microsoft-ssis.blogspot.com/2011/05/referencing-custom-assembly-inside.html

请给出以下命令:

dotnet add package Newtonsoft.Json

然后它起作用了。

相关内容

  • 没有找到相关文章

最新更新