У меня проблема, когда объект массива в моем config.json возвращается как пустой. В следующем коде gridFields вернется как пустое.
{"grids": [{
"name": "Grid1"
"gridFields": [
{
"Name": "Something",
"Label": "Something"
},
{
"Name": "SomethingElse",
"Label": "SomethingElse"
}]
},
{"name": "Grid2"
"gridFields": [
{
"Name": "Something",
"Label": "Something"
}]
}]
}
У меня совпадают POCO, и я убедился, что имена совпадают следующим образом.
public class Grid
{
public string name { get; set; }
public gridFields gridFields {get; set;}
}
public class gridFields
{
public List<gridField> GridFields { get; set; } = new List<gridField>();
public int Count => GridFields.Count();
public IEnumerator GetEnumerator()
{
return GridFields.GetEnumerator();
}
}
public class gridField
{
public string Name { get; set; }
public string Label { get; set; }
}
В моем стартапе у меня есть
public void ConfigureServices(IServiceCollection services)
{ services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
var config = new List<Grid>();
Configuration.Bind("grids", config);
services.AddSingleton(config);
}
В конечном итоге config.gridFields не содержит значений. У меня есть значения для имени, но не gridFields. Даже если я составлю список gridFields, он вернется к нулю.
У меня вопрос: есть ли какой-то следующий текущий код, который я могу получить из этого массива в массиве, или мне нужно сделать что-то совершенно другое? Почему ядро .net не может связывать каждый объект, который встречается под родительским объектом?