Небольшая несовместимость в округлении миллисекунд, Newtonsoft.Json именно округляет миллисекунды, System.Text.Json делает Truncate, поэтому пришлось подправить тест DeserializeCandleTest
Использована опция JsonSerializerDefaults.Web для более безболезненной миграции. С этой опцией игнорируется кейс свойств, как и в Newtonsoft.Json. Начиная с 5 версии System.Text.Jsonэта опция не особо влияет на производительность. В случае с сериализацией StreamingResponse разницы не было.
Значительный прирост в производительности сериализации, код теста тут
Не уверен что писать в README.md, поэтому пока просто убрал упоминание о зависимостях. Как мне кажется, информация не очень нужная, кому надо посмотрит ее самостоятельно.
Закрывает #65.
Несколько особенностей возникших при миграции:
Macross.Json.Extensions
, потому чтоSystem.Text.Json
не поддерживаетEnumMember
https://github.com/dotnet/runtime/issues/31081Newtonsoft.Json
именно округляет миллисекунды,System.Text.Json
делает Truncate, поэтому пришлось подправить тест DeserializeCandleTestJsonSerializerDefaults.Web
для более безболезненной миграции. С этой опцией игнорируется кейс свойств, как и вNewtonsoft.Json
. Начиная с 5 версииSystem.Text.Json
эта опция не особо влияет на производительность. В случае с сериализациейStreamingResponse
разницы не было.Значительный прирост в производительности сериализации, код теста тут