如何使用 C# 创建 Google DataTable JSON 预期源?
如何创建 google.visualization.datatable 所需的 JSON 源使用 C#?显然,使用 JavaScriptSerializer
是不可能的,因为预期的 JSON 具有文档中描述的奇怪结构:
var dt = new google.visualization.DataTable(
{
cols: [{id: 'task', label: 'Task', type: 'string'},
{id: 'hours', label: 'Hours per Day', type: 'number'}],
rows: [{c:[{v: 'Work'}, {v: 11}]},
{c:[{v: 'Eat'}, {v: 2}]},
{c:[{v: 'Commute'}, {v: 2}]},
{c:[{v: 'Watch TV'}, {v:2}]},
{c:[{v: 'Sleep'}, {v:7, f:'7.000'}]}
]
},
0.6
)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
虽然我不熟悉 .NET 环境,但 Google Visualization API 有一个名为 bortosky-google-可视化。该库从
System.Data.DataTable
对象写入 JSON Google DataTable。Though I'm not familiar in the .NET environment, there is a .NET helper for the Google Visualization API called bortosky-google-visualization. The library writes a JSON Google DataTable from a
System.Data.DataTable
object.实现此目的的另一种方法是使用 Google DataTable .Net Wrapper (https://googledatatablelib.codeplex.com/) 它提供了使用强类型 System.DataTable 的可能性,然后可以将其转换为 google.datatable 可视化 JSON 格式。
此服务器端代码
将生成以下 JSON 输出
,这可以在 Asp.NET WebAPI 中使用,也可以直接在 ASP.NET MVC 控制器中使用。
Another way to achieve this is to use the Google DataTable .Net Wrapper (https://googledatatablelib.codeplex.com/) which gives a possibility to work with a strongly typed System.DataTable that can then be converted into the google.datatable visualization JSON format.
This server side code
would generate the following JSON output
and this can be used either in Asp.NET WebAPI or directly in the ASP.NET MVC controller.
上面示例中的预期 JSON 不是 JSON,而是 Javascript 对象文字。 JSON 只是 Javascript 对象文字表示法的子集,但如果 Google DataTable 使用类似的 JSON 进行初始化,上面的示例应该(并且确实)也可以工作。 (要获得正确的 JSON,只需在键周围加上双引号。)
因此,实际上您可以使用
DataContractJsonSerializer
或JavaScriptSerializer
为 Google DataTable 构建 JSON。但是,如果您的起点是 System.Data.DataTable,那么使用上面答案中提到的库可能会更容易。The expected JSON in the example above is not JSON but a Javascript object literal. JSON is only a subset of Javascript object literal notation, but the example above should (and does) also work, if the Google DataTable is initialized with a similar looking JSON. (To get proper JSON just put double quotes around the keys.)
So actually you can use the
DataContractJsonSerializer
orJavaScriptSerializer
to construct JSON for the Google DataTable. However, if your starting point is aSystem.Data.DataTable
it is probably easier to use the library mentioned in the answer above.通过 C# 创建 google 图表数据表的最佳方法是迭代数据并填充模型类并以 JSON 形式返回填充模型,这里是模型表示:-
The best way to create google charts datatable via c# is to iterate data and fill model class and return filled model as JSON , here is the model representation :-