这一切都源于查询谷歌分析数据。对于基本查询,改变的主要因素是维度和指标。返回的对象是一种称为 GaData 的类型,您需要的实际结果位于 GaData.Rows 中。
GaData.Rows 的格式如下所示:
每个维度首先会有一行,在此示例中,有一行用于“新访客”,第二行用于“回访者”。在这些行中将是另一组包含 Dimension 值的行,然后是您指定的每个指标(我只要求一个指标)。
到目前为止,我的类(class)设置如下:
public class Results
{
public List<Dimension> Dimensions { get; set; }
}
public class Dimension
{
public string Value { get; set; }
public List<Metric> Metrics { get; set; }
}
public class Metric
{
public int Value { get; set; }
}
最后,也许只是晚了,我的大脑运转不正常,但我在将这些数据转换为
Results
时遇到了一点困难。类型,我认为是因为多层。有什么帮助吗?编辑
我在下面添加了一个答案,说明我最终是如何完成它的,如果有人有更简洁的示例,请告诉我!
最佳答案
嗯,不知道是什么Rows
在里面 Ga
,但也许这会为您指明正确的方向。
var results
= GaData.Rows.Select(x => x.Rows.Select(y =>
new Dimension { Value = y.Value, Metrics = new List<Metric> {innerRow.Metric}}));
关于c# - 将二维数组转换为对象c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20532660/