Google 绘制折线图的图表
Google Chart to draw linechart
我设法按照我的要求获得了用于绘制图表的数据集,如下所示:
现在我想将其传递到我的 google 图表 api 以绘制折线图。
我已经完成了对 table 的调整以获得所需的数据集。在此示例中,第 1 列有月份,其余列实际上来自数据库(因此不确定还会有多少列)。
我想要 json 这种格式的字符串:
"{\"cols\":[
{\"id\":\"\",\"label\":\"Month\",\"pattern\":\"\",\"type\":\"string\"},
{\"id\":\"\",\"label\":\"Col1\",\"pattern\":\"\",\"type\":\"number\"},
{\"id\":\"\",\"label\":\"Col2\",\"pattern\":\"\",\"type\":\"number\"},
{\"id\":\"\",\"label\":\"Col3\",\"pattern\":\"\",\"type\":\"number\"}
],
\"rows\":[
{\"c\":[{\"v\":\"Jan\"},{\"v\":37.8},{\"v\":80.8},{\"v\":41.8}]},
{\"c\":[{\"v\":\"Feb\"},{\"v\":30.9},{\"v\":69.5},{\"v\":32.4}]},
{\"c\":[{\"v\":\"Mar\"},{\"v\":25.4},{\"v\":57},{\"v\":25.7}]},
{\"c\":[{\"v\":\"Apr\"},{\"v\":11.7},{\"v\":18.8},{\"v\":10.5}]},
{\"c\":[{\"v\":\"May\"},{\"v\":11.9},{\"v\":17.6},{\"v\":10.4}]},
{\"c\":[{\"v\":\"Jun\"},{\"v\":8.8},{\"v\":13.6},{\"v\":7.7}]},
{\"c\":[{\"v\":\"Jul\"},{\"v\":7.6},{\"v\":12.3},{\"v\":9.6}]},
{\"c\":[{\"v\":\"Aug\"},{\"v\":12.3},{\"v\":29.2},{\"v\":10.6}]},
{\"c\":[{\"v\":\"Sep\"},{\"v\":16.9},{\"v\":42.9},{\"v\":14.8}]},
{\"c\":[{\"v\":\"Oct\"},{\"v\":12.8},{\"v\":30.9},{\"v\":11.6}]},
{\"c\":[{\"v\":\"Nov\"},{\"v\":5.3},{\"v\":7.9},{\"v\":4.7}]},
{\"c\":[{\"v\":\"Dec\"},{\"v\":6.6},{\"v\":8.4},{\"v\":5.2}]}]}"
如何将我的对象 class 形成为 return 这个 json 字符串?任何想法都会有所帮助。
我能想到的最后一个选择是使用 stringBuilder 动态构建我的 json 字符串。还有其他方法吗?
我终于成功了,这就是我序列化 Json 对象的方式:
public class Col
{
public string id { get; set; }
public string label { get; set; }
public string pattern { get; set; }
public string type { get; set; }
}
public class C
{
public object v { get; set; }
}
public class Row
{
public List<C> c { get; set; }
}
public class RootObject
{
public List<Col> cols { get; set; }
public List<Row> rows { get; set; }
}
我设法按照我的要求获得了用于绘制图表的数据集,如下所示:
现在我想将其传递到我的 google 图表 api 以绘制折线图。
我已经完成了对 table 的调整以获得所需的数据集。在此示例中,第 1 列有月份,其余列实际上来自数据库(因此不确定还会有多少列)。
我想要 json 这种格式的字符串:
"{\"cols\":[
{\"id\":\"\",\"label\":\"Month\",\"pattern\":\"\",\"type\":\"string\"},
{\"id\":\"\",\"label\":\"Col1\",\"pattern\":\"\",\"type\":\"number\"},
{\"id\":\"\",\"label\":\"Col2\",\"pattern\":\"\",\"type\":\"number\"},
{\"id\":\"\",\"label\":\"Col3\",\"pattern\":\"\",\"type\":\"number\"}
],
\"rows\":[
{\"c\":[{\"v\":\"Jan\"},{\"v\":37.8},{\"v\":80.8},{\"v\":41.8}]},
{\"c\":[{\"v\":\"Feb\"},{\"v\":30.9},{\"v\":69.5},{\"v\":32.4}]},
{\"c\":[{\"v\":\"Mar\"},{\"v\":25.4},{\"v\":57},{\"v\":25.7}]},
{\"c\":[{\"v\":\"Apr\"},{\"v\":11.7},{\"v\":18.8},{\"v\":10.5}]},
{\"c\":[{\"v\":\"May\"},{\"v\":11.9},{\"v\":17.6},{\"v\":10.4}]},
{\"c\":[{\"v\":\"Jun\"},{\"v\":8.8},{\"v\":13.6},{\"v\":7.7}]},
{\"c\":[{\"v\":\"Jul\"},{\"v\":7.6},{\"v\":12.3},{\"v\":9.6}]},
{\"c\":[{\"v\":\"Aug\"},{\"v\":12.3},{\"v\":29.2},{\"v\":10.6}]},
{\"c\":[{\"v\":\"Sep\"},{\"v\":16.9},{\"v\":42.9},{\"v\":14.8}]},
{\"c\":[{\"v\":\"Oct\"},{\"v\":12.8},{\"v\":30.9},{\"v\":11.6}]},
{\"c\":[{\"v\":\"Nov\"},{\"v\":5.3},{\"v\":7.9},{\"v\":4.7}]},
{\"c\":[{\"v\":\"Dec\"},{\"v\":6.6},{\"v\":8.4},{\"v\":5.2}]}]}"
如何将我的对象 class 形成为 return 这个 json 字符串?任何想法都会有所帮助。
我能想到的最后一个选择是使用 stringBuilder 动态构建我的 json 字符串。还有其他方法吗?
我终于成功了,这就是我序列化 Json 对象的方式:
public class Col
{
public string id { get; set; }
public string label { get; set; }
public string pattern { get; set; }
public string type { get; set; }
}
public class C
{
public object v { get; set; }
}
public class Row
{
public List<C> c { get; set; }
}
public class RootObject
{
public List<Col> cols { get; set; }
public List<Row> rows { get; set; }
}