Сценарий: Я должен экспортировать файл Excel, который будет содержать список деталей.Мы позволили пользователю выбирать столбцы и получать только данные выбранных столбцов в экспортированном файле.Поскольку это динамический отчет, я не использую какой-либо конкретный класс для сопоставления отчета, так как это приведет к экспорту пустых заголовков столбцов в отчете, что не нужно.Я использую Dynamic Linq для решения этого сценария.
У меня есть список динамических объектов, извлеченных из динамического linq.
[
{"CleanPartNo":"Test","Description":"test","AliasPartNo":["258","145","2313","12322"]},
{"CleanPartNo":"Test1","Description":"test1","AliasPartNo":[]}
]
Как я могу получить 4 строки из этого json, как
Обратите внимание, что я не могу использовать строго типизированный объект для десериализации / сопоставления его с помощью JSON.Net
Обновление Ниже приведен код:
public class Part
{
public int Id { get; set; }
public string CleanPartNo { get; set; }
public string Description { get; set; }
public List<PartAlias> AliasPartNo { get; set; }
}
public class PartAlias
{
public int PartId { get; set; }
public int PartAliasId { get; set; }
public string AliasPartNo { get; set; }
}
var aliases = new List<PartAlias> {
new PartAlias{AliasPartNo="258" },
new PartAlias{AliasPartNo="145" },
new PartAlias{AliasPartNo="2313" },
new PartAlias{AliasPartNo="12322" }
};
List<Part> results = new List<Part> {
new Part{CleanPartNo="Test", Description= "test", PartAlias=aliases },
new Part{CleanPartNo="Test1", Description= "test1" }
};
var filters = "CleanPartNo,Description, PartAlias.Select(AliasPartNo) as AliasPartNo";
var dynamicObject = JsonConvert.SerializeObject(results.AsQueryable().Select($"new ({filters})"));
в переменной dynamicObject. Я получаю json, упомянутый выше