谷歌图表绘制线图

时间:2015-03-24 11:31:27

标签: c# json google-visualization linechart

我按照我的要求设法获取了绘制我的图表的数据集:

enter image description here

现在我想将此传递给我的google chart api以绘制折线图。

我已经在我的桌子上进行了旋转以获得所需的数据集。在这个示例中,column1有几个月,其余的列实际上来自数据库(因此不确定还有多少列)。

我想要这种格式的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}]}]}"

如何构建我的对象类以返回此json字符串?任何想法都会有所帮助。

我能想到的最后一个选项是使用stringBuilder动态构建我的json字符串。还有其他办法吗?

1 个答案:

答案 0 :(得分:0)

我终于设法让它工作了,这就是我如何序列化我的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; }
    }