La configuración fuertemente tipada en .NET Core ignora el atributo JsonProperty

He estado jugando con una configuración fuertemente tipada en .NET Core y he encontrado algunosextraño comportamiento.

POCO

public class ModuleConfiguration
{
    [JsonProperty("menu")]
    public List<MenuItem> MenuItems { get; set; }
}

Settings.json

{
  "moduleConfiguration": {
    "menu": [
      {
        "id": 1,
        "name": "test"
      }
    ]
  }
}

Cuando cargo la configuración:

var builder = new ConfigurationBuilder().AddJsonFile(path);
var config = builder.Build().GetSection("moduleConfiguration").Get<T>();

elElementos de menú La colección es nula, pero si cambio "menu" a "menuItems" (en settings.json), la colección se rellena correctamente.

¿Eso significa queJsonProperty atributo está siendo ignorado?

Gracias

Respuestas a la pregunta(1)

Su respuesta a la pregunta