C# Blazor设置System.Text.Json序列化设置

C# Blazor设置System.Text.Json序列化设置,c#,json,blazor,.net-5,C#,Json,Blazor,.net 5,我想了解如何在调用\u jsRuntime.InvokeAsync方法时设置json Serializer转换器设置。它本身不接受任何json序列化设置。我相信您需要为项目设置设置。到目前为止,我还没有找到实现这一目标的方法 我的转换器: 公共类矢量转换器:JsonConverter { 公共覆盖系统.Numerics.Vector3读取(参考Utf8JsonReader, 键入typeToConvert,JsonSerializerOptions选项) { if(reader.TokenTy

我想了解如何在调用
\u jsRuntime.InvokeAsync
方法时设置json Serializer转换器设置。它本身不接受任何json序列化设置。我相信您需要为项目设置设置。到目前为止,我还没有找到实现这一目标的方法


我的转换器:

公共类矢量转换器:JsonConverter
{
公共覆盖系统.Numerics.Vector3读取(参考Utf8JsonReader,
键入typeToConvert,JsonSerializerOptions选项)
{
if(reader.TokenType!=JsonTokenType.StartObject)
{
抛出新的JsonException();
}
System.Numerics.Vector3结果=新的System.Numerics.Vector3();
while(reader.Read())
{
if(reader.TokenType==JsonTokenType.EndObject)
{
返回结果;
}
if(reader.TokenType!=JsonTokenType.PropertyName)
{
抛出新的JsonException();
}
开关(reader.GetString())
{
案例“x”:
result.X=(float)reader.GetDouble();
打破
案例“y”:
result.Y=(float)reader.GetDouble();
打破
案例“z”:
result.Z=(float)reader.GetDouble();
打破
}
}
抛出新的JsonException();
}
公共重写无效写入(Utf8JsonWriter,
System.Numerics.Vector3值,JsonSerializerOptions选项)
{    
writer.WriteNumber(“x”,value.x);
writer.WriteNumber(“y”,value.y);
writer.WriteNumber(“z”,value.z);
}
}

没有转换器会发生什么?因为JS不知道Vector3.OK,没关系。Vector3是一个带有公共字段的可变结构,没有属性。@HenkHolterman由于找不到将其添加到json序列化程序的方法,因此未调用转换器。C#和JS之间的Json序列化是隐式的。