1
我想從c#輸出JSON使用谷歌圖表。如何格式JSON谷歌圖表從C#
在使用JSON.Net我建立的那一刻:
JArray arrB = new JArray(
from c in cards
where c.complete
group c by new { date = Convert.ToDateTime(c.completed).Date } into g
select new JObject(
new JProperty("date", g.Key.date),
new JProperty("completedHours", g.Sum(x => x.estHours))
)
);
,它輸出以下內容:
{ "burndown" : [ { "completedHours" : 30.0,
[ { "completedHours" : 30.0,
"date" : "2014-03-26T00:00:00+00:00"
},
{ "completedHours" : 3.0,
"date" : "2014-04-03T00:00:00+01:00"
},
{ "completedHours" : 3.0,
"date" : "2014-03-28T00:00:00+00:00"
},
{ "completedHours" : 1.0,
"date" : "2014-03-27T00:00:00+00:00"
}
]
然而,谷歌圖表不喜歡這一點。據我所知,我需要對其進行格式化,以便在第一個數據塊中包含列標題,然後在第一個數據塊中包含列標題。我是JSON的新手,所以不知道如何去解決這個問題。
編輯:添加「正確」的結構
據我可以從谷歌圖表文檔來講,正確的格式應該是這樣的:
{"cols":[{"id":"Col1","label":"","type":"date"}],
"rows":[
{"c":[{"v":"a"},{"v":"Date(2010,10,6)"}]},
{"c":[{"v":"b"},{"v":"Date(2010,10,7)"}]}
]
}
參見:https://developers.google.com/chart/interactive/docs/reference#dataparam
如果你得到的NuGet的Newtonsoft JSON包,你可以創造任何你想要的對象結構,然後使用該庫來進行編碼到一個JSON字符串。這應該採取所有的猜測和「我是JSON的新手」。 – krillgar
你可以使用所需的JSON結構更新你的問題輸出嗎? –
謝謝。這就是我正在使用的 - 不知道如何改變字符串的格式,默認情況下它按照上面的方式對它進行編碼。你能爲我指出正確的方向嗎? – Ben