Код: Выделить всё
public static void ConfigureJsonSerializerOptions(JsonSerializerOptions jsonSerializerOptions)
{
jsonSerializerOptions.PropertyNameCaseInsensitive = true;
jsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase;
jsonSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase;
jsonSerializerOptions.Encoder = JavaScriptEncoder.Create(UnicodeRanges.All);
jsonSerializerOptions.NumberHandling = JsonNumberHandling.AllowReadingFromString;
jsonSerializerOptions.ReadCommentHandling = JsonCommentHandling.Skip;
jsonSerializerOptions.UnknownTypeHandling = JsonUnknownTypeHandling.JsonNode;
jsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull;
jsonSerializerOptions.AllowTrailingCommas = true;
jsonSerializerOptions.WriteIndented = true;
}
private static JsonSerializerOptions options;
public static JsonSerializerOptions Options
{
get
{
if (options == null)
{
options = new JsonSerializerOptions();
ConfigureJsonSerializerOptions(options);
options.Converters.Add(new JsonStringEnumConverter());
}
return options;
}
}
В System.Text произошло исключение типа «System.InvalidOperationException». Json.dll, но не обрабатывался в пользовательском коде: «Этот экземпляр JsonSerializerOptions доступен только для чтения или уже использовался при сериализации или десериализации».
Как могу ли я это проверить? У него нет свойства IsReadOnly.
Подробнее здесь: https://stackoverflow.com/questions/747 ... sed-in-ser
Мобильная версия