我创建了一个C#库项目。该项目将这一行归为一类:
JsonConvert.SerializeObject(objectList);
我说错了
名称JsonConvert在当前上下文中不存在。
为了解决这个问题,我添加System.ServiceModel.Web.dll了参考资料,但没有运气。我该如何解决这个错误?
Answers:
右键单击该项目,然后选择Manage NuGet Packages..
在其中选择Json.NET并安装
安装后,
使用以下名称空间
using Newtonsoft.Json;
然后使用以下反序列化
JsonConvert.DeserializeObject
或者,如果您使用的是dotnet Core,
添加到您的.csproj文件
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="9.0.1" />
</ItemGroup>
和
dotnet restore
如果您使用的是Linux和.NET Core,请参阅此问题,然后使用
dotnet add package Newtonsoft.Json
然后添加
using Newtonsoft.Json;
到任何需要的课程。
工具-> NuGet软件包管理器->软件包管理器控制台
PM> Install-Package Newtonsoft.Json
如果您正在开发.Net Core WebApi或WebSite,则无需安装newtownsoft.json即可执行json序列化/目标化
只需确保您的控制器方法返回a 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或WebSite,则需要使用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: //docs.microsoft.com/zh-cn/aspnet/core/web-api/advanced/formatting?view=aspnetcore - 2.1
安装完软件包后,您需要通过运行以下命令将newtonsoft.json.dll添加到汇编路径中。
在使用程序集之前,我们必须将其添加到全局程序集缓存(GAC)中。再次打开Visual Studio 2008命令提示符(对于Vista / Windows7 / etc。以管理员身份打开它)。并执行以下命令。gacutil /id:\myMethodsForSSIS\myMethodsForSSIS\bin\Release\myMethodsForSSIS.dll
流此链接以获取更多信息 http://microsoft-ssis.blogspot.com/2011/05/referencing-custom-assembly-inside.html
在C#中尝试一下。有用:
var jsonObject = JsonConvert.DeserializeObject(File.ReadAllText(MyFilePath));
导入以下名称空间:
对于JsonConvert: using Newtonsoft.Json;
对于文件: using System.IO;