我想從C#數據表建立一個JSON輸出。單個數據表也包含父級和子級。我想使用LINQ來設置JSON數據,但是想避免創建類,因爲我有很多這樣的需求,並且爲每個類創建類都是一個負擔。與父母和孩子JSON格式的數據表
的JSON輸出應該
{
Sports : [
{item: 'Porsche 911', quantity: 100},
{item: 'Porsche 912', quantity: 200}
],
Luxury : [
{item: 'BMW 3 Series', quantity: 300}
],
Small :[
{item: 'Toyota Corolla', quantity: 400},
{item: 'Mitsubishi Lancer', quantity: 500},
{item: 'Mitsubishi Lancer 2', quantity: 600}
]}
示例代碼我試過
//get current stock
DataTable dtCurrentStock = inventoryReports.getCurrentStock(currentDate);
//get distinct item group
DataTable dtItemGroup = dtCurrentStock.DefaultView.ToTable(true, "HEAD");
DataSet sd = new DataSet();
var itemGroup = dtItemGroup.AsEnumerable();
var items = dtCurrentStock.AsEnumerable();
var result = itemGroup.Select(group => new {
groupName = group.Field<string>("HEAD"),
itemDetl =
items.
Where(item => (item.Field<string>("HEAD") == group.Field<string>("HEAD"))).
Select(detl => new
{
a = detl.ToString()
})//.ToList()
}).ToList();
錯誤
Results View = The type '<>f__AnonymousType0<a>' exists in both 'APP-SERVICE.dll' and 'CommonLanguageRuntimeLibrary'
請提供更好的代碼(如果有)。在此先感謝
你能告訴我們你試過了什麼嗎? – Thijs
與現有的表一起,我創建了具有不同HEAD的另一個表。並試圖使用LINQ,但我得到了錯誤結果視圖=在'APP-SERVICE.dll'和'CommonLanguageRuntimeLibrary'中都存在類型'<> f__AnonymousType0 '。因爲我期待更好的代碼,所以我不想發佈我的代碼。如果您需要,我會發布。 –