Из-за чего атрибут JsonPropertyName не работает с шаблоном параметров?

У меня в appsetting записаны GoogleCredential в таком виде:

Я создал класс для шаблона параметров:

Добавил сервис:

Когда через дебаг прошел, оказалось что в объекте GoogleСonfig значение есть только у поля Type

Дополнительно:

ну я бы на всякий случай проверил наличие русских букв "о", "е", "с" в имени проперти и json

  • d-stream, Вообще я могу просто поля назвать Project_Id и т.д, и все будет работать, просто по рекомендациям поля не должны иметь нижнее подчеркивание. Получается из самого очевидного это поля именовать точно так же как в json или в json убрать нижнее подчеркивание.
  • надо использовать [ConfigurationKeyName("type")]

    https://github.com/dotnet/runtime/issues/36010

    https://learn.microsoft.com/en-us/dotnet/api/micro...

    • Спасибо за помощь

    Ответы:

    project_id без запятой.. мб в этом дело?

    • Это просто шаблон с названиями полей, и проект бы не скопилировался, если бы в appsetting была опечатка

     

    Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.

     

      • Из-за чего атрибут JsonPropertyName не работает с шаблоном параметров?Есть ответ
      • 07.04.2024
      Ответить

      Проблема с неработающим атрибутом JsonPropertyName в шаблоне параметров может возникнуть из-за нескольких возможных причин. Одной из них может быть неправильное использование атрибута JsonPropertyName в сочетании с шаблоном параметров.

      Возможно, что вы пытаетесь использовать атрибут JsonPropertyName для указания имени свойства в шаблоне параметров, но это не является корректным использованием атрибута. Атрибут JsonPropertyName должен быть применен к свойству класса, чтобы указать имя, которое будет использоваться при сериализации объекта в JSON.

      Для решения этой проблемы, убедитесь, что вы применяете атрибут JsonPropertyName к свойству класса, а не к шаблону параметров. Например, если у вас есть класс с шаблоном параметров, вы можете создать отдельный класс с нешаблонными свойствами и применить атрибут JsonPropertyName к этим свойствам.

      Пример:

      Таким образом, убедившись, что атрибут JsonPropertyName применен к правильному месту в вашем коде, вы должны быть в состоянии исправить проблему с его неработающим использованием в шаблоне параметров.

    Оставить комментарий