111,094
社区成员




//我想要的最终Json结果为:
{
"TicketNumPercent" : [["景区01", 10], ["景区11", 20], ["景区21", 30], ["景区31", 40], ["景区41", 50]],
"SalePricePercent" : [["景区01", 0], ["景区11", 1], ["景区21", 2], ["景区31", 3], ["景区41", 4]],
"CostPricePercent" : [["景区01", 7], ["景区11", 14], ["景区21", 21], ["景区31", 28], ["景区41", 35]],
"CommissionAmountPercent" :[["景区01", 7], ["景区11", 14], ["景区21", 21], ["景区31", 28], ["景区41", 35]],
"ProfitAmountPercent" : [["景区01", 7], ["景区11", 14], ["景区21", 21], ["景区31", 28], ["景区41", 35]]
}
//DataTable:
System.Data.DataTable dTab = new System.Data.DataTable();
dTab.Columns.Add("Scence");
dTab.Columns.Add("TicketNum");
dTab.Columns.Add("TicketNumPercent");
dTab.Columns.Add("SalePrice");
dTab.Columns.Add("SalePricePercent");
dTab.Columns.Add("CostPrice");
dTab.Columns.Add("CostPricePercent");
dTab.Columns.Add("CommissionAmount");
dTab.Columns.Add("CommissionAmountPercent");
dTab.Columns.Add("ProfitAmount");
dTab.Columns.Add("ProfitAmountPercent");
System.Data.DataRow dr = dTab.NewRow();
for (int i = 0; i < 10; i++)
{
dr = dTab.NewRow();
dr["Scence"] = "景区" + i + 1;
dr["TicketNum"] = i;
dr["TicketNumPercent"] = 10 * (i + 1);
dr["SalePrice"] = i;
dr["SalePricePercent"] = i;
dr["CostPrice"] = 7 * (i + 1);
dr["CostPricePercent"] = 7 * (i + 1);
dr["CommissionAmount"] = 7 * (i + 1);
dr["CommissionAmountPercent"] = 7 * (i + 1);
dr["ProfitAmount"] = 7 * (i + 1);
dr["ProfitAmountPercent"] = 7 * (i + 1);
dTab.Rows.Add(dr);
}
//用为序列化为json的类:
public class ReportSceneClass2
{
[JsonProperty("TicketNum")]
public object[][] TicketNum { get; set; }
[JsonProperty("SalePrice")]
public object[][] SalePrice { get; set; }
[JsonProperty("CostPrice")]
public object[][] CostPrice { get; set; }
[JsonProperty("CommissionAmount")]
public object[][] CommissionAmount { get; set; }
[JsonProperty("ProfitAmount")]
public object[][] ProfitAmount { get; set; }
}
//在抽取DataTable中对应的行,列时不会处理了:。。。
public static ReportSceneClass2 ColumnsToObject(DataTable dt)
{
int arrayLength = dt.Rows.Count;
ReportSceneClass2 objReportSceneClass2 = new ReportSceneClass2();
objReportSceneClass2.TicketNum = new object[arrayLength][];
//【问题】这里怎样从dt中抽取对应的行,列赋值给ReportSceneClass2类的object[][] ?
for (int index = 0; index < arrayLength; index++)
{
}
return objReportSceneClass2;
}
var dt = new DataTable();
dt.Columns.Add("c");
dt.Columns.Add("col1");
dt.Columns.Add("col2");
dt.Columns.Add("col3");
dt.Rows.Add("A", 1, 2, 3);
dt.Rows.Add("B", 4, 5, 6);
dt.Rows.Add("C", 7, 8, 9);
dt.Rows.Add("D", 10, 11, 12);
var dataList = dt.Rows.Cast<DataRow>().Select(x => new
{
TicketNumPercent = new[] { x["c"], x["col1"] },
SalePricePercent = new[] { x["c"], x["col2"] },
CostPricePercent = new[] { x["c"], x["col3"] }
}).ToList();
var jsonModel=new { TicketNumPercent = dataList.Select(x => x.TicketNumPercent), SalePricePercent = dataList.Select(x => x.SalePricePercent), CostPricePercent = dataList.Select(x => x.CostPricePercent) };
//【用来序列化为json的类】:
[JsonProperty("TicketNumPercent")]
public object[][] TicketNumPercent { get; set; }
[JsonProperty("SalePricePercent")]
public object[][] SalePricePercent { get; set; }
[JsonProperty("CostPricePercent")]
public object[][] CostPricePercent { get; set; }
[JsonProperty("CommissionAmountPercent")]
public object[][] CommissionAmountPercent { get; set; }
[JsonProperty("ProfitAmountPercent")]
public object[][] ProfitAmountPercent { get; set; }
//在抽取DataTable中对应的行,列时不会处理了:。。。
public static ReportSceneClass2 ColumnsToObject(DataTable dt)
{
int arrayLength = dt.Rows.Count;
ReportSceneClass2 objReportSceneClass2 = new ReportSceneClass2();
objReportSceneClass2.TicketNum = new object[arrayLength][];
//【问题】这里怎样从dt中抽取对应的行,列赋值给ReportSceneClass2类的object[][] ?
for (int index = 0; index < arrayLength; index++)
{
}
return objReportSceneClass2;
}
以前没用过object[][],不会处理了。。