.NET 6 – сериализация Json с независимой типизацией с помощью CamelCase через PropertyNamingPolicyC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 .NET 6 – сериализация Json с независимой типизацией с помощью CamelCase через PropertyNamingPolicy

Сообщение Anonymous »

Мне нужен способ прочитать конфигурацию 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Разница между коллекциями.abc.Sequence и типизацией.Sequence
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • MyPy проверяет конфликт ввода с типизацией.Self
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Проблема с типизацией при использовании группы задач в программе, основанной на потоке задач
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Считайте значения в List или DataTable из независимой сетки с помощью Selenium C#.
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Преобразование возвращенных свойств объекта JSON в (сначала нижний) CamelCase
    Гость » » в форуме Javascript
    0 Ответы
    75 Просмотры
    Последнее сообщение Гость

Вернуться в «C#»