Мне нужен способ прочитать конфигурацию json через серверную часть asp.net 6 и отправить ее во внешний интерфейс в формате json с именами свойств CamelCase. Исходная конфигурация json использует PascalCasing для имен свойств. Формат json не известен серверной части, поэтому нет возможности привязки типизированного объекта.
Я попробовал позволить ASP.NET связать эти части json с любым object или свойства JsonElement, однако это, похоже, не работает, поскольку стандартные параметры сериализации ASP.NET, которые по умолчанию используют CamelCasing, не используются сериализаторами JsonElement. Это кажется очень странным и непреднамеренным поведением, но здесь описано и подтверждено как встроенная функция:
https://github.com/dotnet/runtime/issues/61843
https://github .com/dotnet/runtime/issues/66661
Первый отмечает, что вы не можете использовать для этого JsonElement, но должны использовать JsonNode.
Второй отмечает, что также JsonNode не поддерживает это, как это задумано. Это также подтверждается официальной документацией.
Так как же мне обеспечить эту функциональность стандартными средствами System.Text.Json? Кажется смешным писать свои собственные преобразователи или использовать Newtonsoft для преобразования для этого сценария.
В среднем сообщении упоминается, что это возможно с помощью ToJsonString с параметрами сериализатора для JsonObject, но Я не могу повторить это поведение. Для меня как в .net 6, так и в .net 8 политика именования по-прежнему игнорируется, и ToJsonString выводит тот же json, что и тот, который был прочитан из конфигурации.
https://medium.com/@serhiikokan/mastering-the- use-of-system-text-json-e4d37564ab44
Будем очень признательны за любые подсказки и предложения.
Подробнее здесь: https://stackoverflow.com/questions/783 ... rtynamingp
.NET 6 – сериализация Json с независимой типизацией с помощью CamelCase через PropertyNamingPolicy ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Считайте значения в List
или DataTable из независимой сетки с помощью Selenium C#.
Anonymous » » в форуме C# - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-