是否有一种方法来自定义json设置Azure函数信号服务绑定(Microsoft.Azure.WebJobs.Exten



我使用Azure函数的SignalR Service输出绑定。当我向消息添加一些参数时,它被库Microsoft.Azure.WebJobs.Extensions.SignalRService序列化。可以使用System.Text.JsonNewtonsoft.Json进行序列化。

我不知道如何为序列化提供自定义设置(我希望将枚举转换为字符串而不是数字)。

有什么办法吗?

我也尝试过序列化自己,但是库会转义所有内容以确保有效的json,这也不是很理想。

使用System.Text.Json库

public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
builder.Services.Configure<SignalROptions>(o => o.JsonObjectSerializer = new JsonObjectSerializer(
new JsonSerializerOptions()
{
PropertyNamingPolicy = JsonNamingPolicy.CamelCase
}));
}
}

Newtonsoft使用。Json库

public class Startup : FunctionsStartup
{
public override void Configure(IFunctionsHostBuilder builder)
{
builder.Services.Configure<SignalROptions>(o => o.JsonObjectSerializer = new NewtonsoftJsonObjectSerializer(
new JsonSerializerSettings()
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
}));
}
}

更多信息和文档可在这里获得:https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/signalr/Microsoft.Azure.WebJobs.Extensions.SignalRService/samples/Sample02_CustomizingJsonSerialization.md

相关内容

最新更新