如何从Azure函数配置Newtonsoft序列化



如何在上为Azure Functions应用程序配置Newtonsoft序列化设置。NET 6与进程内函数。在"启动"中,我尝试了Services.AddMvcCore().AddJsonOptions(...),但这似乎是针对系统的。文本Json,这对我的响应数据没有影响。显然,函数默认使用Newtonsoft。正如一些SO文章所讨论的那样,我尝试了AddMvcCore().AddJsonFormatters()...,但这似乎是适用的。NET 3.1或更旧的版本。我没有也找不到这样的扩展方法。我也试着寻找AddNewtonsoftJson()扩展,但也没有找到,尽管有与我看到的使用它的示例相同的using语句

很明显,有很多旧文档都有各种版本的。NET核心。最近有人能告诉我怎么做吗?

编辑:我也愿意听取如何配置web主机以使用系统。文本Json,因为这也能满足我的需求,但不会直接回答这个特定的问题。

使用AddNewtonsoftJson()扩展,该扩展通过从NuGet添加Microsoft.AspNetCore.Mvc.NewtonsoftJson作为依赖项而可用。

你可以在你的功能项目中添加一个启动,如下

using Microsoft.Azure.Fucntions.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection
[assembly: FunctionsStartup(typeof(MyNamespace.Startup))]
namespace MyNamespace
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
builder.services.AddJsonOptions(options => 
{
options.SerializerSettings. //your Json settings
}
}
}

此外,您还可以在这里注入任何其他依赖项,就像您通常在dotnet内核中所做的那样。

对于NewtonSoft,您将拥有以下

using Microsoft.Azure.Fucntions.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection
[assembly: FunctionsStartup(typeof(MyNamespace.Startup))]
namespace MyNamespace
public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
builder.services.AddMvcCore().AddNewtonsoftJson(options => 
{
options.SerializerSettings. //your Json settings
}
}
}

相关内容

  • 没有找到相关文章

最新更新