基于https://docs.particular.net/nservicebus/serialization/json,我想将一些设置传递给JsonSerializer,例如IgnoreNullValues。 但到目前为止,我没有找到任何如何将设置传递给序列化器的示例。
var serialization = endpointConfiguration.UseSerialization<JsonSerializer>();
//I would like to use something like below,
//but I don't find any examples of how to pass settings to the JsonSerializer
serialization.Settings.IgnoreNUllValues = true;
我无法找到的是传递设置的正确语法或默认JsonSerializer的可用设置列表。
感谢。
答案 0 :(得分:1)
根据他们的documentation:
var settings = new JsonSerializerSettings
{
TypeNameHandling = TypeNameHandling.Auto,
Converters =
{
new IsoDateTimeConverter
{
DateTimeStyles = DateTimeStyles.RoundtripKind
}
}
};
var serialization = endpointConfiguration.UseSerialization<NewtonsoftSerializer>();
serialization.Settings(settings);
这确实使用了NewtonsoftSerializer而不是JsonSerializer,所以你的里程可能会有所不同。
答案 1 :(得分:0)
来自David Boike的评论,这正是我的问题的答案:
默认情况下,JSON.NET内部化为NServiceBus,这意味着无法在其上设置任何选项或者根本无法访问其API。这就是NewtonsoftSerializer存在的原因,允许您使用您喜欢的任何设置在项目中使用外部JSON.NET包。